import { SetupIntentResult } from '@stripe/stripe-js';
import { AddCardPaymentSourceType, CardPaymentSelectorView, CompanyOfficerType, ID, LoggedInUser, OnboardingCustomerView, OnboardingStep, PlaidLinkTokenType, TenantView } from '@zeniai/client-epic-state';
import { AddressFormData } from '../../address/addressHelper';
import { SetUpAccountSectionFormData } from '../../commonSetUp/sections/setUpAccountSection/SetUpAccountSection';
declare const paymentAccountSetupSectionId = "onboardingPaymentAccountSetupSection";
declare const subscriptionBillingAddressSectionId = "onboardingSubscriptionBillingAddress";
export interface FormData {
    [paymentAccountSetupSectionId]: SetUpAccountSectionFormData;
    [subscriptionBillingAddressSectionId]: AddressFormData;
}
export declare const uniqueName: (sectionId: ID) => `${string}_form`;
export interface Props {
    cardPaymentView: CardPaymentSelectorView;
    connectedAccountProvider: string;
    isCardPaymentPopupOpen: boolean;
    onboardingCustomerView: OnboardingCustomerView;
    stripeKey: ID;
    currentTenant?: TenantView;
    googleAPIKey?: ID;
    signedInUser?: LoggedInUser;
    handleAddCardPaymentSource: (paymentType: AddCardPaymentSourceType, paymentMethod: string, paymentId: string) => void;
    handleCockpitClick: () => void;
    handleConfirmCardSetupIntent: (setupIntentData: SetupIntentResult) => void;
    handleCreateCardSetupIntent: (paymentsMethod: string[]) => void;
    handleFetchPaymentSources: () => void;
    handleLogOutClick: () => void;
    handleResetCardPaymentErrorStatuses: () => void;
    onAddressEditHandler: (formData: AddressFormData) => void;
    onEstablishConnectionClick: (publicToken: ID, linkTokenType?: PlaidLinkTokenType) => void;
    onEstablishConnectionSuccess: () => void;
    onFetchLinkTokenClick: (plaidLinkTokenType: PlaidLinkTokenType, paymentAccountId?: ID) => void;
    onUpdateCustomerView: (officerType: CompanyOfficerType, reCalculateCurrentStep?: boolean, isBillingAddressUpdate?: boolean) => void;
    onUpdatePaymentAccountLoginStatus: (paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdatePaymentAccountStatus: (verificationStatusCode: string, paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void;
    onUpdateStep: (step: OnboardingStep) => void;
    onZeniLogoClick: () => void;
    redirectToProductSuitePage: () => void;
    resetCardPaymentViewState: () => void;
    updateCardPaymentModalState: (isCardPaymentPopupOpen: boolean) => void;
    handleReferralsClick?: () => void;
}
export declare const CustomerOnboardingPaymentAddressDetailPage: ({ onboardingCustomerView, connectedAccountProvider, cardPaymentView, stripeKey, googleAPIKey, signedInUser, currentTenant, onUpdateStep, handleCreateCardSetupIntent, handleConfirmCardSetupIntent, updateCardPaymentModalState, handleAddCardPaymentSource, resetCardPaymentViewState, handleResetCardPaymentErrorStatuses, redirectToProductSuitePage, onUpdateCustomerView, ...restprops }: Props) => import("react/jsx-runtime").JSX.Element;
export {};
