import { ReactElement } from 'react'; import { default as Color } from 'color'; import { ClientAnalytics, ProductType, ReferrerType } from '@zeniai/client-analytics'; import { AccountBase, CardPaymentSelectorView, ID, PaymentAccount, PlaidConnectionDetails, PlaidLinkTokenType } from '@zeniai/client-epic-state'; import { FormSectionProps } from '../../../formElements/common/formSection'; import { SingleSelectPickerFieldValue } from '../../../formElements/singleSelectPickerField/SingleSelectPickerField'; export interface CardPaymentSectionValuesType { header: string; icon: { color: Color; element: JSX.Element; }; isCompleted: boolean; isError: boolean; isLoading: boolean; showAddPaymentMethodDropDown: boolean; showCompletedIcon: boolean; showRightArrow: boolean; status: { code: string; name: string; }; subHeader: string; subtitle: string; title: string; } /** * Component & its Props */ export interface Props extends FormSectionProps { allBankAccounts: AccountBase[]; analytics: ClientAnalytics; connectedAccountProvider: string; icon: { color: Color; element: ReactElement; }; plaidConnectionDetails: PlaidConnectionDetails; productType: ProductType; cardPaymentSectionValues?: CardPaymentSectionValuesType; cardPaymentView?: CardPaymentSelectorView; cardSetupInProgress?: boolean; /** When set, replaces the trailing `>` arrow on the not-connected default row with a primary Button labelled with this string. */ connectButtonLabel?: string; defaultSectionSubTitle?: string; defaultSectionTitle?: string; hasError?: boolean; header?: string; isCompleted?: boolean; isError?: boolean; paymentAccount?: PaymentAccount; referrer?: ReferrerType; sectionTitle?: string; showCompletedIcon?: boolean; showZeniAccountSection?: boolean; style?: React.CSSProperties; subHeader?: string; onEstablishConnectionClick: (publicToken: ID, linkTokenType?: PlaidLinkTokenType) => void; onEstablishConnectionSuccess: () => void; onFetchLinkTokenClick: (plaidLinkTokenType: PlaidLinkTokenType, paymentAccountId?: ID) => void; onUpdatePaymentAccountLoginStatus: (paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void; onUpdatePaymentAccountStatus: (verificationStatusCode: string, paymentAccountId: ID, plaidLinkTokenType: PlaidLinkTokenType) => void; resetCardPaymentViewState?: () => void; updateCardPaymentModalState?: (isCardPaymentPopupOpen: boolean) => void; } export declare function SetUpAccountSection({ paymentAccount, allBankAccounts, cardPaymentView, plaidConnectionDetails, sectionId, isDisabled, icon, isError, hasError, header, subHeader, defaultSectionTitle, defaultSectionSubTitle, sectionTitle, style, analytics, productType, referrer, connectedAccountProvider, isCompleted, showCompletedIcon, showZeniAccountSection, cardPaymentSectionValues, connectButtonLabel, onFetchLinkTokenClick, onEstablishConnectionClick, onUpdatePaymentAccountStatus, onEstablishConnectionSuccess, resetCardPaymentViewState, updateCardPaymentModalState, cardSetupInProgress, }: Readonly): import("react/jsx-runtime").JSX.Element; export type GetPaymentAccountIconOptions = { flatIconNoBackground?: boolean; }; export declare const getPaymentAccountIcon: (icon: { color: Color; element: ReactElement; }, paymentAccount?: PaymentAccount, withoutContainer?: boolean, options?: GetPaymentAccountIconOptions) => import("react/jsx-runtime").JSX.Element; /** * Form Data Type */ export interface SetUpAccountSectionFormData { account: SingleSelectPickerFieldValue; } type FormDataKeys = keyof SetUpAccountSectionFormData; declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.account`; export type FormDataKeyUniqueNames = ReturnType; export {};