export type AdminTransactionType = 'payment' | 'refund' | 'qr_payment';
export type AdminTransactionStatus = 'pending' | 'success' | 'failed' | 'retried';

export interface AdminTransactionAuditEntry {
  action: string;
  actor: string;
  timestamp: string;
}

export interface AdminTransaction {
  id: string;
  orderId: string;
  orderNumber: string;
  type: AdminTransactionType;
  method: string;
  status: AdminTransactionStatus;
  amount: number;
  currency: string;
  fraudFlag: boolean;
  audit: AdminTransactionAuditEntry[];
  createdAt: string;
  updatedAt: string;
}

export interface AdminTransactionListFilters {
  search: string;
  status: 'all' | AdminTransactionStatus;
  type: 'all' | AdminTransactionType;
  page: number;
  pageSize: number;
}

export interface AdminTransactionsListResult {
  items: AdminTransaction[];
  total: number;
  page: number;
  pageSize: number;
}
