import type { BankVerificationVendor } from '../../../../api/transferInstruments/transferInstruments.types';
import type { ExistingLegalEntity } from '../../../../core/models/api/legal-entity';
import type { BaseInnerFormProps } from '../../../../hooks/useForm/types';
import type { CurrencySchema } from '../../../Shared/fields/Currency/types';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { Currency } from '../../../../types/datasets/currency';
import type { BankAccountNumberSchema } from '../../fields/BankAccountNumber/types';
export interface PayoutAccountSchema extends CurrencySchema, BankAccountNumberSchema {
    transferInstrumentId?: string;
    accountHolder?: string;
    branchCode?: string;
    bankCity?: string;
    swiftCode?: string;
    iban?: string;
    bankName?: string;
    bankCode?: string;
}
export interface PayoutAccountProps extends BaseInnerFormProps<PayoutAccountSchema> {
    country: CountryCode;
    onSubmit?(data: PayoutAccountSchema): void;
    legalEntityResponse: ExistingLegalEntity;
    requiredFields?: Array<keyof PayoutAccountSchema>;
    arePayoutAccountDetailsInvalid?: boolean;
    invalidFieldNames?: string;
    preferredCurrencyCode?: Currency;
    showInstantVerificationCTA?: boolean;
    provider?: BankVerificationVendor;
}
