import { AuthParams, ChargeCardSetupView, CompanyOfficerType, FilePayload, ID, PlaidLinkTokenType, ZeniAccountsPromoConfig } from '@zeniai/client-epic-state';
import { SetUpAccountSectionFormData } from '../../commonSetUp/sections/spendManagementSetupAccountSection/SpendMgmtSetupAccountSection';
import { DisableMode } from '../../formElements/common/common';
declare const payAccountSectionId = "payAccount";
export interface Props {
    accountsPromoConfig: ZeniAccountsPromoConfig;
    authParams: AuthParams;
    autoPayThreshold: number;
    chargeCardSetUpView: ChargeCardSetupView;
    connectedAccountProvider: string;
    filesEndPoint: string;
    isAccountsEnabled: boolean;
    isCreditCardOnlyEnabled: boolean;
    isDebitCardOnlyEnabled: boolean;
    isEarlyPayEnabled: boolean;
    meetingUrl: string;
    isDisabled?: DisableMode;
    onBackClick: () => void;
    onBusinessVerificationSectionClick: () => void;
    onEnableChargeCardClick: () => void;
    onEnableChargeCardSuccess: () => void;
    onEstablishConnectionClick: (publicToken: ID, linkTokenType?: PlaidLinkTokenType) => void;
    onEstablishConnectionSuccess: () => void;
    onFetchLinkTokenClick: (plaidLinkTokenType: PlaidLinkTokenType, paymentAccountId?: ID) => void;
    onNavigateToDashboard: () => void;
    onSignUpClick: () => void;
    onUpdateAutoPayClick: (enableAutoPay: boolean) => void;
    onUpdateChargeCardClick: (accountId: ID, paymentAccountId: ID, accountType: string) => void;
    onUpdatePaymentAccountLoginStatus: (paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdatePaymentAccountStatus: (verificationStatusCode: string, paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdatePrimaryFundingAccount: (accountId: ID, accountType: string) => void;
    /**
     * Invoked when the user clicks the "Add Card Policy" section. Navigates to
     * the Card Policy list page so admins can review or create policies.
     */
    onCardPolicySectionClick?: () => void;
    onClickMenuIcon?: () => void;
    onCompanyOfficerUpdated?: (officerType: CompanyOfficerType, fileIds: ID[]) => void;
    onDeleteFile?: (fileId: ID) => void;
    onEditFileName?: (fileId: ID, name: string) => void;
    onSendForVerificationClick?: (officerType: CompanyOfficerType) => void;
    updateFilesEntity?: (files: FilePayload[]) => void;
}
export interface FormData {
    [payAccountSectionId]: SetUpAccountSectionFormData;
}
declare const ChargeCardSetUpPage: ({ autoPayThreshold, isDisabled, meetingUrl, isEarlyPayEnabled, chargeCardSetUpView, connectedAccountProvider, filesEndPoint, authParams, isAccountsEnabled, isDebitCardOnlyEnabled, isCreditCardOnlyEnabled, accountsPromoConfig, onFetchLinkTokenClick, onBackClick, onEnableChargeCardClick, onUpdateChargeCardClick, onBusinessVerificationSectionClick, onCardPolicySectionClick, onUpdatePaymentAccountStatus, onUpdatePaymentAccountLoginStatus, onUpdatePrimaryFundingAccount, onUpdateAutoPayClick, onEstablishConnectionClick, onEstablishConnectionSuccess, onClickMenuIcon, onEnableChargeCardSuccess, onEditFileName, onDeleteFile, updateFilesEntity, onCompanyOfficerUpdated, onSendForVerificationClick, onSignUpClick, }: Props) => import("react/jsx-runtime").JSX.Element;
export default ChargeCardSetUpPage;
export declare const uniqueName: (sectionId: ID) => `${string}_form`;
