import { PaymentDetails, PaymentMethodData } from './AccountPayment.model';
import { PaymentVendorFactoryEnum } from '../../../enums/paymentVendorFactoryEnum';
interface BankAccountFormProps {
    accountTypes?: any[];
    isFormDisabled?: boolean;
}
interface BankAccountFormProps {
    bankAccountTypes?: any[];
    isFormDisabled?: boolean;
    paymentDetails: PaymentDetails;
    providerType?: PaymentVendorFactoryEnum | null;
    providerProps?: any;
    isHostedPaymentPage?: boolean | null;
    hasReadPropertiesError?: boolean | null;
    readPropertiesMessageError?: string | null;
    onStatusChange?: (paymentFormResult: any) => void;
    enabled?: boolean | null;
    actionLabel?: string;
    data?: PaymentMethodData;
    externalId?: string;
}
/**
 * `BankAccountForm` is a React functional component that renders a form for managing bank accounts.
 * It supports both hosted payment pages and direct input forms for bank account details.
 *
 * @param {Object} props - The properties passed to the component.
 * @param {Array} props.bankAccountTypes - An array of available bank account types.
 * @param {Object} props.data - Data related to the bank account form.
 * @param {string} props.externalId - External identifier for the bank account.
 * @param {boolean} [props.isFormDisabled=false] - Flag to disable the form.
 * @param {string|null} [props.providerType=null] - Type of the payment provider.
 * @param {Object|null} [props.providerProps=null] - Properties for the payment provider.
 * @param {Object} props.paymentDetails - Details of the payment.
 * @param {boolean} props.isHostedPaymentPage - Flag to indicate if it is a hosted payment page.
 * @param {boolean} props.hasReadPropertiesError - Flag to indicate if there was an error reading properties.
 * @param {string} props.readPropertiesMessageError - Error message for reading properties.
 * @param {Function} props.onStatusChange - Callback function to handle status changes.
 * @param {boolean} props.enabled - Flag to indicate if the form is enabled.
 * @param {Function} props.setSelectedPaymentAccount - Callback function to set the selected payment account.
 * @param {string} props.actionLabel - The label for the action button.
 * @param {Object} restProps - Additional properties passed to the component.
 *
 * @returns {JSX.Element} The rendered component.
 */
export declare const BankAccountForm: ({ bankAccountTypes, data, externalId, isFormDisabled, providerType, providerProps, paymentDetails, isHostedPaymentPage, hasReadPropertiesError, readPropertiesMessageError, onStatusChange, enabled, actionLabel, setSelectedPaymentAccount, ...restProps }: BankAccountFormProps & {
    [key: string]: any;
}) => any;
export {};
//# sourceMappingURL=BankAccountForm.d.ts.map