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 { 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; /** Tenant-specific inbox; overrides the config API's receiptBotEmail. */ receiptsEmail?: string; 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, receiptsEmail, }: ChargeCardDetailPageProps) => import("react/jsx-runtime").JSX.Element; export default ChargeCardDetailPage;