import { ClientAnalytics } from '@zeniai/client-analytics';
import { CompanyOfficerType, FundAllocationOption, ID, PlaidLinkTokenType, TenantView, TreasuryBusinessVerificationDetails, TreasurySetupView, TreasuryTransaction, TreasuryTransferMoneyLocalData, TreasuryTransferMoneySelectorView, ZeniAccountsPromoConfig } from '@zeniai/client-epic-state';
import { AdditionalVerificationFieldsFormData } from '../../commonSetUp/sections/additionalVerificationFieldsSection/AdditionalVerificationFieldsSection';
import { SetUpAccountSectionFormData } from '../../commonSetUp/sections/spendManagementSetupAccountSection/SpendMgmtSetupAccountSection';
import { DisableMode } from '../../formElements/common/common';
declare const payAccountSectionId = "payAccount";
export interface TreasurySetupOverlayData {
    additionalVerification: AdditionalVerificationFieldsFormData;
}
export interface Props {
    accountsPromoConfig: ZeniAccountsPromoConfig;
    businessVerificationDetails: TreasuryBusinessVerificationDetails;
    connectedAccountProvider: string;
    currentTenant: TenantView;
    filesEndPoint: string;
    isAccountsEnabled: boolean;
    isFirstTransfer: boolean;
    maxInsuredAmount: number;
    meetingUrl: string;
    showTreasurySetupOverlay: boolean;
    transferDetails: TreasuryTransferMoneySelectorView;
    treasurySetupView: TreasurySetupView;
    isDisabled?: DisableMode;
    transactions?: TreasuryTransaction[];
    onAdditionalVerificationFieldsChanged: (formData: AdditionalVerificationFieldsFormData) => void;
    onBusinessVerificationSectionClick: (showStep: boolean, isTransferInitiated: boolean) => void;
    onConfirmFundAllocation: () => void;
    onEnableTreasuryClick: () => void;
    onEstablishConnectionClick: (publicToken: ID, linkTokenType?: PlaidLinkTokenType) => void;
    onEstablishConnectionSuccess: () => void;
    onFetchLinkTokenClick: (plaidLinkTokenType: PlaidLinkTokenType, paymentAccountId?: ID) => void;
    onNavigateToDashboard: () => void;
    onSendForVerificationClick: (officerType: CompanyOfficerType, isTransferInitiated?: boolean) => void;
    onSignUpClick: () => void;
    onTransferSaveChangesToLocalStore: (localData: TreasuryTransferMoneyLocalData) => void;
    onUpdateFundAllocation: (data: FundAllocationOption) => void;
    onUpdatePaymentAccountLoginStatus: (paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdatePaymentAccountStatus: (verificationStatusCode: string, paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdatePrimaryFundingAccount: (accountId: ID, accountType: string) => void;
    onUpdateTreasuryClick: (accountId: ID, paymentAccountId: ID, accountType: string) => void;
    setShowTreasurySetupOverlay: (show: boolean) => void;
    onClickMenuIcon?: () => void;
    onDeleteFile?: (fileId: ID) => void;
    onEditFileName?: (fileId: ID, name: string) => void;
    onOverlayClose?: () => void;
    onSetupTreasurySectionClick?: () => void;
}
export interface FormData {
    [payAccountSectionId]: SetUpAccountSectionFormData;
}
declare const TreasurySetUpPage: ({ isDisabled, meetingUrl, currentTenant, businessVerificationDetails, connectedAccountProvider, accountsPromoConfig, isAccountsEnabled, showTreasurySetupOverlay, transactions, treasurySetupView, transferDetails, isFirstTransfer, maxInsuredAmount, setShowTreasurySetupOverlay, onFetchLinkTokenClick, onEnableTreasuryClick, onUpdatePrimaryFundingAccount, onUpdateTreasuryClick, onBusinessVerificationSectionClick, onUpdatePaymentAccountStatus, onUpdatePaymentAccountLoginStatus, onEstablishConnectionClick, onEstablishConnectionSuccess, onClickMenuIcon, onAdditionalVerificationFieldsChanged, onSendForVerificationClick, onConfirmFundAllocation, onSignUpClick, onNavigateToDashboard, onUpdateFundAllocation, onTransferSaveChangesToLocalStore, onOverlayClose, }: Props) => import("react/jsx-runtime").JSX.Element;
export declare const trackTreasuryTransferAnalytics: (analytics: ClientAnalytics, actionType: string, transferMoneyLocalData: TreasuryTransferMoneyLocalData, fundAllocationData: FundAllocationOption, pageName: string) => void;
export default TreasurySetUpPage;
export declare const uniqueName: (sectionId: ID) => `${string}_form`;
