import { ID } from '../../../../commonStateTypes/common'; import { AddressPayload } from '../../../../entity/address/addressPayload'; import { ChargeCardPayload } from '../../../../entity/chargeCard/chargeCardPayload'; import { AmountPayload } from '../../../../entity/reimbursement/reimbursementPayload'; import { UserPayload } from '../../../../entity/user/userPayload'; import { UserRolePayload } from '../../../../entity/userRole/userRolePayload'; import { ZeniAPIResponse } from '../../../../responsePayload'; import { ActiveChargeCardCountPayload, ActiveDebitCardCountByUserIdPayload } from '../../../../view/userListView/userListViewPayload'; export interface ChargeCardListPayload { addresses: AddressPayload[]; cards: ChargeCardPayload[]; user_roles: UserRolePayload[]; users: UserPayload[]; cards_count_by_user_id?: ActiveChargeCardCountPayload[]; debit_cards_count_by_deposit_account_id?: Record; unassigned_credit?: AmountPayload; } export type FetchChargeCardListResponse = ZeniAPIResponse; export interface CreditAccountPayload { available_amount: number; balance_amount: number; create_time: string; credit_account_id: string; credit_limit: number; currency_code: string; currency_symbol: string; hold_amount: number; is_for_charge_cards: boolean; status: { code: string; name: string; }; update_time: string; cashback_amount?: number | null; } export type ChargeCardPaymentMethod = 'ACH' | 'Book Transfer'; export interface CreditAccountRepaymentPayload { credit_account_id: string; currency_code: string; currency_symbol: string; current_balance: number; initiated_repayments: number; next_repayment_due_date: string; provider_credit_account_id: string; remaining_amount_due: number; remaining_amount_overdue: number; statement_period_end: string; statement_period_start: string; initiated_repayment_date?: string | null; payment_method?: ChargeCardPaymentMethod | null; } interface CreditAccountListPayload { credit_accounts: CreditAccountPayload[]; } export type FetchCreditAccountRepaymentResponse = ZeniAPIResponse; export type FetchCreditAccountResponse = ZeniAPIResponse; export interface DebitCardSummariesPayload { currency_code: string; currency_symbol: string; current_month_spends: number; last_completed_month_end_time: string; last_completed_month_spends: number; last_completed_month_start_time: string; spends_percent_change: number; } interface DebitCardSummaryPayload { debit_card_summaries: DebitCardSummariesPayload; } export type FetchDebitCardSummaryResponse = ZeniAPIResponse; export type ResendInviteResponse = ZeniAPIResponse; export type UpdateChargeCardsLimitResponse = ZeniAPIResponse; export {};