import { StripeLinkAuthenticationElement, StripeLinkAuthenticationElementOptions, StripeLinkAuthenticationElementChangeEvent, StripeError } from '@stripe/stripe-js';
import { DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue-demi';
interface Props {
    options?: StripeLinkAuthenticationElementOptions;
}
declare const _default: DefineComponent<Props, {
    element: Ref<{
        mount: (domElement: string | HTMLElement) => void;
        blur: () => void;
        clear: () => void;
        destroy: () => void;
        focus: () => void;
        unmount: () => void;
        on: {
            (eventType: "change", handler: (event: StripeLinkAuthenticationElementChangeEvent) => any): StripeLinkAuthenticationElement;
            (eventType: "ready", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "focus", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "blur", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "escape", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderror", handler: (event: {
                elementType: "linkAuthentication";
                error: StripeError;
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderstart", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
        };
        once: {
            (eventType: "change", handler: (event: StripeLinkAuthenticationElementChangeEvent) => any): StripeLinkAuthenticationElement;
            (eventType: "ready", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "focus", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "blur", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "escape", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderror", handler: (event: {
                elementType: "linkAuthentication";
                error: StripeError;
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderstart", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
        };
        off: {
            (eventType: "change", handler?: (event: StripeLinkAuthenticationElementChangeEvent) => any): StripeLinkAuthenticationElement;
            (eventType: "ready", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "focus", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "blur", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "escape", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderror", handler?: (event: {
                elementType: "linkAuthentication";
                error: StripeError;
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderstart", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
        };
    } | null, StripeLinkAuthenticationElement | {
        mount: (domElement: string | HTMLElement) => void;
        blur: () => void;
        clear: () => void;
        destroy: () => void;
        focus: () => void;
        unmount: () => void;
        on: {
            (eventType: "change", handler: (event: StripeLinkAuthenticationElementChangeEvent) => any): StripeLinkAuthenticationElement;
            (eventType: "ready", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "focus", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "blur", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "escape", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderror", handler: (event: {
                elementType: "linkAuthentication";
                error: StripeError;
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderstart", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
        };
        once: {
            (eventType: "change", handler: (event: StripeLinkAuthenticationElementChangeEvent) => any): StripeLinkAuthenticationElement;
            (eventType: "ready", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "focus", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "blur", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "escape", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderror", handler: (event: {
                elementType: "linkAuthentication";
                error: StripeError;
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderstart", handler: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
        };
        off: {
            (eventType: "change", handler?: (event: StripeLinkAuthenticationElementChangeEvent) => any): StripeLinkAuthenticationElement;
            (eventType: "ready", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "focus", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "blur", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "escape", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderror", handler?: (event: {
                elementType: "linkAuthentication";
                error: StripeError;
            }) => any): StripeLinkAuthenticationElement;
            (eventType: "loaderstart", handler?: (event: {
                elementType: "linkAuthentication";
            }) => any): StripeLinkAuthenticationElement;
        };
    } | null>;
    focus: () => void | undefined;
    blur: () => void | undefined;
    clear: () => void | undefined;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
    change: (event: StripeLinkAuthenticationElementChangeEvent) => any;
    ready: (element: StripeLinkAuthenticationElement) => any;
}, string, PublicProps, Readonly<Props> & Readonly<{
    onChange?: (event: StripeLinkAuthenticationElementChangeEvent) => any;
    onReady?: (element: StripeLinkAuthenticationElement) => any;
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
    elementRef: HTMLDivElement;
}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=VueStripeLinkAuthenticationElement.vue.d.ts.map