import { type Dispatch, type StateUpdater } from 'preact/hooks';
import type { BankVerificationVendor, CreateTrustedTransferInstrumentResponse } from '../../../../api/transferInstruments/transferInstruments.types';
import type { ExistingLegalEntity } from '../../../../core/models/api/legal-entity';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { EntityProblems } from '../../../../types/errors/entity-problems';
import type { FormModelWithValidity } from '../../../../types/form';
import type { PayoutAccountSchema } from '../PayoutAccount/types';
interface PayoutDetailsMultiformProps {
    activeForm: FormModelWithValidity;
    shouldValidate: boolean;
    problems: EntityProblems | undefined;
    country: CountryCode;
    accountHolder: string;
    legalEntityResponse: ExistingLegalEntity;
    provider?: BankVerificationVendor;
    bankVendorsLoadingStatus: 'error' | 'success' | 'pending';
    instantVerificationAvailable: boolean;
    setHideSidebar?: Dispatch<StateUpdater<boolean>>;
    setSkipSubmit?: Dispatch<StateUpdater<boolean>>;
    createTrustedTransferInstrument: (code: string, state: string) => Promise<CreateTrustedTransferInstrumentResponse | undefined>;
    accountDetailsFromInput: PayoutAccountSchema;
    trustedTransferInstrumentId?: string;
    onBack?: () => void;
    setHasAsyncValidationError?: Dispatch<StateUpdater<boolean>>;
    showInstantVerificationCTA: boolean;
    handleNextClick?: () => void;
}
export declare const payoutSteps: {
    readonly payoutCountryDetails: {
        readonly formId: "payoutCountryDetails";
        readonly formName: "payoutCountryDetails";
        readonly fields: (keyof import("../PayoutCountryDetails/types").PayoutCountryDetailsSchema)[];
    };
    readonly payoutVerificationMethod: {
        readonly formId: "payoutVerificationMethod";
        readonly formName: "verificationMethod";
        readonly fields: ("bankCountry" | "verifiedAccountHolder" | "verifiedCurrencyCode" | "payoutVerificationMethod" | "verifiedBankAccountNumber" | "verifiedBankCountry" | "verifiedBankName")[];
    };
    readonly payoutAccountDetails: {
        readonly formId: "payoutAccountDetails";
        readonly formName: "bankAccount";
        readonly fields: (keyof PayoutAccountSchema)[];
    };
    readonly payoutAccountDocuments: {
        readonly formId: "payoutAccountDocuments";
        readonly formName: "bankDocument";
        readonly formHeader: "bankDocumentHeader";
        readonly fields: (keyof import("../BankDocument/types").BankDocumentSchema)[];
    };
    readonly payoutAccountVerification: {
        readonly formId: "payoutAccountVerification";
        readonly formName: "instantVerification";
        readonly fields: (keyof import("../BankVerification/types").AccountVerificationSchema)[];
    };
};
export type PayoutAccountDocumentsFormId = typeof payoutSteps.payoutAccountDocuments.formId;
export declare function PayoutDetailsMultiform({ activeForm, shouldValidate, problems, country, accountHolder, legalEntityResponse, provider, bankVendorsLoadingStatus, instantVerificationAvailable, setHideSidebar, createTrustedTransferInstrument, accountDetailsFromInput, onBack, setHasAsyncValidationError, showInstantVerificationCTA, handleNextClick, }: PayoutDetailsMultiformProps): import("preact/jsx-runtime").JSX.Element;
export {};
