import type { PropType } from 'vue';
declare const turnstileLoadFunction = "cfTurnstileOnLoad";
declare global {
    interface Window {
        turnstile: any;
        [turnstileLoadFunction]: any;
    }
}
declare interface VueTurnstileData {
    timeoutId?: ReturnType<typeof setTimeout>;
    turnstileWidgetId?: string;
}
declare const _default: import("vue").DefineComponent<{
    siteKey: {
        type: StringConstructor;
        required: true;
    };
    modelValue: {
        type: StringConstructor;
        required: true;
    };
    resetInterval: {
        type: NumberConstructor;
        required: false;
        default: number;
    };
    size: {
        type: PropType<"normal" | "compact">;
        required: false;
        default: string;
    };
    theme: {
        type: PropType<"light" | "dark" | "auto">;
        required: false;
        default: string;
    };
    action: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    renderOnMount: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    removeBeforeUnMount: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
}, unknown, VueTurnstileData, {
    turnstileOptions(): {
        sitekey: string;
        theme: "light" | "dark" | "auto";
        size: "normal" | "compact";
        callback: (token: string) => void;
        action: string;
    };
}, {
    callback(token: string): void;
    reset(): void;
    render(): void;
    remove(): void;
    startResetTimeout(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    siteKey: {
        type: StringConstructor;
        required: true;
    };
    modelValue: {
        type: StringConstructor;
        required: true;
    };
    resetInterval: {
        type: NumberConstructor;
        required: false;
        default: number;
    };
    size: {
        type: PropType<"normal" | "compact">;
        required: false;
        default: string;
    };
    theme: {
        type: PropType<"light" | "dark" | "auto">;
        required: false;
        default: string;
    };
    action: {
        type: StringConstructor;
        required: false;
        default: string;
    };
    renderOnMount: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
    removeBeforeUnMount: {
        type: BooleanConstructor;
        required: false;
        default: boolean;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    resetInterval: number;
    size: "normal" | "compact";
    theme: "light" | "dark" | "auto";
    action: string;
    renderOnMount: boolean;
    removeBeforeUnMount: boolean;
}>;
export default _default;
