import { AccountTypeSubConfigCodeKeyType, BankConnectionsSetupView, ID, PlaidAccountKeyType, PlaidLinkTokenType, SpendManagementEntityType, SpendManagementEntityTypeWithOtherConnection } from '@zeniai/client-epic-state';
import { BankConnectionProductWiseFormData } from './BankConnectionsProductwise';
declare const billPay = "bill_pay";
declare const reimbursement = "reimbursement";
declare const zeniAccount = "zeni_accounts";
declare const chargeCards = "charge_cards";
declare const zeniTreasury = "zeni_treasury";
export interface Props {
    bankSetupView: BankConnectionsSetupView;
    connectedAccountProvider: string;
    onBackClick: () => void;
    onClickMenuIcon: () => void;
    onEstablishConnectionClick: (publicToken: ID, plaidAccountKeyType: PlaidAccountKeyType, productType: SpendManagementEntityTypeWithOtherConnection) => void;
    onEstablishConnectionSuccess: (plaidAccountKeyType: PlaidAccountKeyType, productType: SpendManagementEntityTypeWithOtherConnection) => void;
    onFetchLinkTokenClick: (plaidLinkTokenType: PlaidLinkTokenType, plaidAccountKeyType: PlaidAccountKeyType, paymentAccountId?: ID) => void;
    onRemoveConnection: (id: ID) => void;
    onUpdateAccountClick: (accountId: ID, primaryAccountId: ID, spendManagementEntity: SpendManagementEntityType, plaidAccountKeyType: PlaidAccountKeyType, primaryAccountType: AccountTypeSubConfigCodeKeyType) => void;
    onUpdatePaymentAccountLoginStatus: (paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType, plaidAccountKeyType: PlaidAccountKeyType, productType: SpendManagementEntityTypeWithOtherConnection) => void;
    onUpdatePaymentAccountStatus: (verificationStatusCode: string, paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType, plaidAccountKeyType: PlaidAccountKeyType, productType: SpendManagementEntityTypeWithOtherConnection) => void;
    onUpdatePrimaryFundingAccount: (accountId: ID, plaidAccountKeyType: PlaidAccountKeyType, accountType: AccountTypeSubConfigCodeKeyType) => void;
}
declare const BankConnectionsSettingsPage: ({ bankSetupView, connectedAccountProvider, onBackClick, onUpdateAccountClick, onFetchLinkTokenClick, onUpdatePaymentAccountStatus, onUpdatePaymentAccountLoginStatus, onEstablishConnectionClick, onEstablishConnectionSuccess, onClickMenuIcon, onUpdatePrimaryFundingAccount, onRemoveConnection, }: Props) => import("react/jsx-runtime").JSX.Element;
/**
 * Form Data Type
 */
export interface FormData {
    [billPay]: BankConnectionProductWiseFormData;
    [chargeCards]: BankConnectionProductWiseFormData;
    [reimbursement]: BankConnectionProductWiseFormData;
    [zeniAccount]: BankConnectionProductWiseFormData;
    [zeniTreasury]: BankConnectionProductWiseFormData;
}
export declare const formUniqueName: (sectionId: ID) => `${string}_form`;
export default BankConnectionsSettingsPage;
