import { FetchState, FetchedState, ID } from '../../../../commonStateTypes/common'; import { CategoryCombinationOperator, FilterCategoryType } from '../../../../commonStateTypes/filterPrimitives'; import { ChargeCardRepayment } from '../../../../entity/chargeCardRepayment/chargeCardRepayment'; import { Logo } from '../../../../entity/paymentAccount/paymentAccountState'; import { User } from '../../../../entity/user/userState'; import { ZeniDate } from '../../../../zeniDayJS'; import { SpendManagementUIState } from '../../billPay/billList/billListState'; export interface ChargeCardRepaymentWithUser extends ChargeCardRepayment { paidByUser?: User; } export interface PaymentHistoryAccountInfo { accountId: ID; accountType: 'depositAccount' | 'paymentAccount'; depositAccountName: string; accountLogo?: Logo; depositAccountLast4?: string; } export type PaymentHistorySortKey = 'paymentDate' | 'sourceAccount' | 'paymentStatus' | 'initiatedBy' | 'amount'; export interface PaymentHistoryUIState extends SpendManagementUIState { sortKey: PaymentHistorySortKey; } export interface ChargeCardPaymentHistoryDownloadUIState { downloadState: FetchState; } export interface ChargeCardPaymentHistoryState extends FetchedState { creditAccountId: ID; currencyCode: string; currencySymbol: string; downloadUIState: ChargeCardPaymentHistoryDownloadUIState; filters: PaymentHistoryFilters; isAutoPayEnabled: boolean; repaymentHistoryIds: ID[]; repaymentHistoryXlsDownloadUrl: string; searchText: string; totalRepayments: number; uiState: PaymentHistoryUIState; } export interface PaymentHistoryFilters { categories: PaymentHistoryFilterCategory[]; categoryCombinationOperator: CategoryCombinationOperator; } export interface PaymentHistoryFilterCategory { field: PaymentHistoryFilterCategoryField; matchingOperator: 'equal' | 'not_equal'; values: (string | ZeniDate)[]; valuesCombinationOperator: 'ANY'; } export type PaymentHistoryFilterCategoryField = 'repaymentDate' | 'sourceAccount' | 'status' | 'initiatedBy'; export interface PaymentHistoryFilterCategoryDropdownOption { value: PaymentHistoryFilterCategoryField; multiple?: boolean; type?: FilterCategoryType; } export declare const PAYMENT_HISTORY_FILTER_CATEGORIES: PaymentHistoryFilterCategoryDropdownOption[]; export declare const initialChargeCardPaymentHistoryState: ChargeCardPaymentHistoryState;