import type { DOMAttributes } from 'react';
import type { DefineComponent } from 'vue';
import type { PayoutDetailsSchema } from '../../components/BankAccount/forms/PayoutDetails/types';
import type { BaseEmbedProps } from '../baseEmbedProps';
/**
 * @see https://docs.adyen.com/platforms/onboard-users/components/transfer-instrument/#initialize-components
 */
export interface AdyenTransferInstrumentConfigurationProps extends BaseEmbedProps {
    transferinstrumentid?: string;
    /** ConfigId setup to use open banking integration with Plaid **/
    openbankingpartnerconfigid?: string;
    /** Invoked when form has been completed by user */
    oncomplete?(data: PayoutDetailsSchema): void;
    /** Defaults to inline. If modal is selected Component shows as modal */
    view?: 'modal' | 'inline';
    /** Invoked only when view='modal', triggers when user clicks the close modal button */
    onclose?(): void;
}
declare module 'preact/jsx-runtime' {
    namespace JSX {
        interface IntrinsicElements {
            'adyen-transfer-instrument-configuration': AdyenTransferInstrumentConfigurationProps;
        }
    }
}
type CustomElement<T> = Partial<T & DOMAttributes<T> & {
    children: any;
}>;
declare global {
    namespace JSX {
        interface IntrinsicElements {
            'adyen-transfer-instrument-configuration': CustomElement<AdyenTransferInstrumentConfigurationProps>;
        }
    }
    namespace preact.JSX {
        interface IntrinsicElements {
            'adyen-transfer-instrument-configuration': AdyenTransferInstrumentConfigurationProps;
        }
    }
}
declare module 'react/jsx-runtime' {
    namespace JSX {
        interface IntrinsicElements {
            'adyen-transfer-instrument-configuration': AdyenTransferInstrumentConfigurationProps;
        }
    }
}
declare module 'vue' {
    interface GlobalComponents {
        'adyen-transfer-instrument-configuration': DefineComponent<AdyenTransferInstrumentConfigurationProps>;
    }
}
export {};
