import { ReactNode } from 'react';
import { CardsClickType } from '@zeniai/client-analytics';
import { Amount, AuthParams, CardActivationOrPinUpdateEventCodeType, CashbackDetailSelectorView, ChargeCardDetailSelectorView, ChargeCardRecurringExpenses, ChargeCardTransactionSortKey, ChargeCardTransactionTypeCode, CreditLimitFrequency, FetchState, ID, LoggedInUser, PageToken, SortOrder, Token, TransactionReceiptsPayload, UserRoleType, ZeniAPIStatus } from '@zeniai/client-epic-state';
import { BaseCardMixPanelProps } from './helpers/ChargeCardUtils';
export interface ChargeCardDetailPageProps extends Omit<BaseCardMixPanelProps, "creditAccountRepayment"> {
    appleWalletLink: string;
    authParams: AuthParams;
    cardId: ID;
    cardsEndPoint: string;
    chargeCardCashbackDetailState: CashbackDetailSelectorView;
    chargeCardDetailView: ChargeCardDetailSelectorView;
    chargeCardsRecurringExpensesState: ChargeCardRecurringExpenses;
    classListFetchState: FetchState;
    documentAiReceiptMaxSizeLimit: number;
    googleWalletLink: string;
    hideSorting: boolean;
    isCardControlsEnabled: boolean;
    isCardsCommentingEnabled: boolean;
    isEarlyPayEnabled: boolean;
    isSandboxEnv: boolean;
    isSnackbarOpen: boolean;
    signedInUser: LoggedInUser;
    transactionAttachmentEndpointToDownload: string;
    transactionAttachmentsEndpointToFetch: string;
    vgsVaultId: ID;
    cardHolderDepartmentName?: string;
    cardHolderRoles?: UserRoleType[];
    cardIssuedByDepartmentName?: string;
    cardIssuedByRoles?: UserRoleType[];
    isAiCfoAccessEnabled?: boolean;
    loggedInUserRole?: UserRoleType[];
    panelContent?: ReactNode;
    sidePanelIsFullView?: boolean;
    sidePanelIsOpen?: boolean;
    signedInUserToken?: Token;
    onBackClick: () => void;
    onChargeCardRevokeInviteClick: () => void;
    onChargeCardTransactionRowClick: (type: ChargeCardTransactionTypeCode, thirdPartyLinkedTransactionId: ID) => void;
    onCloseChargeCard: (reason?: string) => void;
    onColorCodeChange: (colorCode: string) => void;
    onColumnSortConfigChanged: (sortKey: ChargeCardTransactionSortKey, sortOrder: SortOrder) => void;
    onFetchChargeCardsRecurringExpenses: () => void;
    onFetchChargeCardTransactionList: (pageToken: PageToken, pageTokenType: PageToken) => void;
    onFireOnClickAnalytics: (type: CardsClickType, selectedColor?: string) => void;
    onFireVerifyPopOnClickAnalytics: (type: CardsClickType, selectedColor?: string) => void;
    onGetOtp: (phoneNumber: string) => void;
    onLockChargeCard: (isChargeCardAdmin: boolean, reason?: string) => void;
    onReloadTransactions: () => void;
    onResendOtp: (otpChallenge: string) => void;
    onUnlockChargeCard: (isChargeCardAdmin: boolean) => void;
    onUpdateDebitCardPinAttempt: (statusCode: CardActivationOrPinUpdateEventCodeType) => void;
    onUploadReceiptComplete: (isSuccess: boolean, error?: ZeniAPIStatus) => void;
    onVerifyOtp: (code: string, otpChallenge: string) => void;
    onVerifyOtpSuccess: (Token?: Token) => void;
    removeSnackbar: () => void;
    shouldOpenCreditCardPaymentDrawer: (open: boolean) => void;
    updateChargeCardName: (isChargeCardAdmin: boolean, cardName: string) => 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;
    updateSpendLimit: (chargeCardId: ID, spendLimit: Amount, frequency: CreditLimitFrequency, formattedAmount: string) => void;
    navigate?: (path: string, options?: {
        state?: unknown;
    }) => void;
    onAskAiCfoClick?: () => void;
    onUpdateScrollYOffset?: (scrollYOffset: number) => void;
}
declare const ChargeCardDetailPage: ({ chargeCardDetailView, onUnlockChargeCard, onCloseChargeCard, cardsEndPoint, classListFetchState, transactionAttachmentsEndpointToFetch, transactionAttachmentEndpointToDownload, authParams, hideSorting, cardId, vgsVaultId, controllerEmails, isCardsCommentingEnabled, isCardControlsEnabled, isChargeCardFeatureEnabled, isDebitCardFeatureEnabled, isDebitCardSetupEnabled, isChargeCardSetupEnabled, chargeCardCashbackDetailState, onFetchChargeCardsRecurringExpenses, productInformation, cashbackInformation, creditAccountInformation, debitAccountInformation, creditAccount, cardIssuedByRoles, cardIssuedByDepartmentName, cardHolderRoles, cardHolderDepartmentName, loggedInUserRole, appleWalletLink, googleWalletLink, signedInUser, signedInUserToken, chargeCardsRecurringExpensesState, isSandboxEnv, isEarlyPayEnabled, documentAiReceiptMaxSizeLimit, isSnackbarOpen, onFireOnClickAnalytics, onUpdateDebitCardPinAttempt, onFireVerifyPopOnClickAnalytics, onBackClick, onReloadTransactions, onFetchChargeCardTransactionList, onGetOtp, onLockChargeCard, onResendOtp, onVerifyOtp, updateChargeCardName, onVerifyOtpSuccess, onColorCodeChange, onColumnSortConfigChanged, updateChargeCardTransactionAttachments, updateChargeCardTransactionUploadReceiptsFetchStatus, updateChargeCardTransactionReceiptsShowTick, updateChargeCardTransactionIsViewReceiptClicked, onUploadReceiptComplete, removeSnackbar, onChargeCardTransactionRowClick, onChargeCardRevokeInviteClick, onUpdateScrollYOffset, updateSpendLimit, shouldOpenCreditCardPaymentDrawer, sidePanelIsOpen, sidePanelIsFullView, panelContent, isAiCfoAccessEnabled, onAskAiCfoClick, navigate, }: ChargeCardDetailPageProps) => import("react/jsx-runtime").JSX.Element;
export default ChargeCardDetailPage;
