import { ListChildComponentProps } from 'react-window';
import { Amount, AuthParams, CardCodeType, CardStatusCodeType, ChargeCardDetailUiState, ChargeCardTransaction, ChargeCardTransactionSortKey, ChargeCardTransactionTypeCode, FetchState, FetchStateAndError, ID, PageToken, SortOrder, TransactionReceiptsPayload, User, ZeniAPIStatus } from '@zeniai/client-epic-state';
export interface ListItemProps extends ListChildComponentProps {
    authParams: AuthParams;
    cardId: ID;
    cardsEndPoint: string;
    documentAiReceiptMaxSizeLimit: number;
    isAiCategorizationEnabledForCardsTransactions: boolean;
    isCardsCommentingEnabled: boolean;
    isSnackbarOpen: boolean;
    isViewReceiptClickedImmediatelyAfterUploadTransactionId: Record<string, boolean>;
    receiptRequiredAboveAmount: Amount;
    transactionAttachmentEndpointToDownload: string;
    transactionAttachmentsEndpointToFetch: string;
    transactions: ChargeCardTransaction[];
    uploadReceiptsFetchStateByTransactionId: Record<string, FetchStateAndError>;
    uploadReceiptsShowTickByTransactionId: Record<string, boolean>;
    isLastRow?: boolean;
    onChargeCardTransactionRowClick: (type: ChargeCardTransactionTypeCode, thirdPartyLinkedTransactionId: ID) => void;
    onUploadReceiptComplete: (isSuccess: boolean, error?: ZeniAPIStatus) => void;
    removeSnackbar: () => void;
    updateChargeCardTransactionAttachments: (transactionId: ID, data: TransactionReceiptsPayload | undefined) => void;
    updateChargeCardTransactionIsViewReceiptClicked: (transactionId: ID, chargeCardId: ID, isViewReceiptClicked: boolean) => void;
    updateChargeCardTransactionReceiptsShowTick: (transactionId: ID, chargeCardId: ID, shouldShowTick: boolean) => void;
    updateChargeCardTransactionUploadReceiptsFetchStatus: (transactionId: ID, chargeCardId: ID, fetchState: FetchState, error?: ZeniAPIStatus) => void;
}
export interface ChargeCardTransactionListProps {
    authParams: AuthParams;
    cardCodeType: CardCodeType | undefined;
    cardHolderUser: User | undefined;
    cardId: ID;
    cardsEndPoint: string;
    cardStatusCode: CardStatusCodeType | undefined;
    documentAiReceiptMaxSizeLimit: number;
    fetchState: FetchState;
    hideSorting: boolean;
    isAiCategorizationEnabledForCardsTransactions: boolean;
    isCardsCommentingEnabled: boolean;
    isOwnCard: boolean;
    isSnackbarOpen: boolean;
    isViewReceiptClickedImmediatelyAfterUploadTransactionId: Record<string, boolean>;
    receiptRequiredAboveAmount: Amount;
    transactionAttachmentEndpointToDownload: string;
    transactionAttachmentsEndpointToFetch: string;
    transactions: ChargeCardTransaction[];
    uiState: ChargeCardDetailUiState;
    uploadReceiptsFetchStateByTransactionId: Record<string, FetchStateAndError>;
    uploadReceiptsShowTickByTransactionId: Record<string, boolean>;
    onChargeCardTransactionRowClick: (type: ChargeCardTransactionTypeCode, thirdPartyLinkedTransactionId: ID) => void;
    onColumnSortConfigChanged: (sortKey: ChargeCardTransactionSortKey, sortOrder: SortOrder) => void;
    onFetchChargeCardTransactionList: (pageToken: PageToken, pageTokenType: PageToken) => void;
    onReloadTransactions: () => void;
    onUploadReceiptComplete: (isSuccess: boolean, error?: ZeniAPIStatus) => void;
    removeSnackbar: () => void;
    updateChargeCardTransactionAttachments: (transactionId: ID, data: TransactionReceiptsPayload | undefined) => void;
    updateChargeCardTransactionIsViewReceiptClicked: (transactionId: ID, chargeCardId: ID, isViewReceiptClicked: boolean) => void;
    updateChargeCardTransactionReceiptsShowTick: (transactionId: ID, chargeCardId: ID, shouldShowTick: boolean) => void;
    updateChargeCardTransactionUploadReceiptsFetchStatus: (transactionId: ID, chargeCardId: ID, fetchState: FetchState, error?: ZeniAPIStatus) => void;
    onUpdateScrollYOffset?: (scrollYOffset: number) => void;
}
export default function ChargeCardTransactionListTable({ transactions, documentAiReceiptMaxSizeLimit, isSnackbarOpen, uploadReceiptsFetchStateByTransactionId, uploadReceiptsShowTickByTransactionId, isViewReceiptClickedImmediatelyAfterUploadTransactionId, cardId, receiptRequiredAboveAmount, isAiCategorizationEnabledForCardsTransactions, isCardsCommentingEnabled, transactionAttachmentsEndpointToFetch, transactionAttachmentEndpointToDownload, cardsEndPoint, authParams, hideSorting, isOwnCard, uiState, fetchState, cardHolderUser, cardStatusCode, cardCodeType, onReloadTransactions, onFetchChargeCardTransactionList, onColumnSortConfigChanged, removeSnackbar, onChargeCardTransactionRowClick, onUploadReceiptComplete, onUpdateScrollYOffset, updateChargeCardTransactionAttachments, updateChargeCardTransactionUploadReceiptsFetchStatus, updateChargeCardTransactionReceiptsShowTick, updateChargeCardTransactionIsViewReceiptClicked, }: ChargeCardTransactionListProps): import("react/jsx-runtime").JSX.Element;
