/** Types generated for queries found in "src/modules/transactions/providers/creditcard-transactions.provider.ts" */
export type currency = 'AUD' | 'CAD' | 'ETH' | 'EUR' | 'GBP' | 'GRT' | 'ILS' | 'JPY' | 'SEK' | 'USD' | 'USDC';

export type financial_account_type = 'BANK_ACCOUNT' | 'BANK_DEPOSIT_ACCOUNT' | 'CREDIT_CARD' | 'CRYPTO_WALLET' | 'FOREIGN_SECURITIES';

/** 'GetCreditCardTransactionsByChargeIds' parameters type */
export interface IGetCreditCardTransactionsByChargeIdsParams {
  chargeIds: readonly (string | null | void)[];
}

/** 'GetCreditCardTransactionsByChargeIds' return type */
export interface IGetCreditCardTransactionsByChargeIdsResult {
  account_id: string;
  account_name: string | null;
  account_number: string;
  amount: string;
  business_id: string | null;
  charge_id: string;
  counter_account: string | null;
  created_at: Date;
  currency: currency;
  currency_rate: string;
  current_balance: string;
  debit_date: Date | null;
  debit_date_override: Date | null;
  debit_timestamp: Date | null;
  event_date: Date;
  id: string;
  is_fee: boolean;
  origin_charge_id: string;
  origin_key: string;
  origin_transaction_id: string;
  owner_id: string;
  source_description: string | null;
  source_id: string;
  source_origin: string;
  source_reference: string;
  type: financial_account_type;
  updated_at: Date;
}

/** 'GetCreditCardTransactionsByChargeIds' query type */
export interface IGetCreditCardTransactionsByChargeIdsQuery {
  params: IGetCreditCardTransactionsByChargeIdsParams;
  result: IGetCreditCardTransactionsByChargeIdsResult;
}

/** 'ValidateCreditCardTransactionsAmountByChargeIds' parameters type */
export interface IValidateCreditCardTransactionsAmountByChargeIdsParams {
  chargeIds: readonly (string | null | void)[];
}

/** 'ValidateCreditCardTransactionsAmountByChargeIds' return type */
export interface IValidateCreditCardTransactionsAmountByChargeIdsResult {
  is_amount_match: boolean | null;
  origin_charge_id: string;
}

/** 'ValidateCreditCardTransactionsAmountByChargeIds' query type */
export interface IValidateCreditCardTransactionsAmountByChargeIdsQuery {
  params: IValidateCreditCardTransactionsAmountByChargeIdsParams;
  result: IValidateCreditCardTransactionsAmountByChargeIdsResult;
}

