import type { DOMAttributes } from 'react';
import type { DefineComponent } from 'vue';
import type { TermsOfServiceData } from '../../components/EmbeddedDropins/AcceptTermsOfServiceComponent/AcceptTermsOfServiceComponent';
import type { BaseEmbedProps } from '../baseEmbedProps';
export interface AdyenTermsOfServiceManagementProps extends BaseEmbedProps {
    /** Invoked every time a contract is accepted. Typically there are more then one documents to accept. */
    onaccept?(data: TermsOfServiceData): void;
    /** Invoked when form has been completed by user */
    oncomplete?(data: TermsOfServiceData): 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-terms-of-service-management': AdyenTermsOfServiceManagementProps;
        }
    }
}
type CustomElement<T> = Partial<T & DOMAttributes<T> & {
    children: any;
}>;
declare global {
    namespace JSX {
        interface IntrinsicElements {
            'adyen-terms-of-service-management': CustomElement<AdyenTermsOfServiceManagementProps>;
        }
    }
    namespace preact.JSX {
        interface IntrinsicElements {
            'adyen-terms-of-service-management': AdyenTermsOfServiceManagementProps;
        }
    }
}
declare module 'react/jsx-runtime' {
    namespace JSX {
        interface IntrinsicElements {
            'adyen-terms-of-service-management': AdyenTermsOfServiceManagementProps;
        }
    }
}
declare module 'vue' {
    interface GlobalComponents {
        'adyen-terms-of-service-management': DefineComponent<AdyenTermsOfServiceManagementProps>;
    }
}
export {};
