/* eslint-disable */
/* tslint:disable */
/**
 * This is an autogenerated file created by the Stencil compiler.
 * It contains typing information for all components that exist in this project.
 */
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
export namespace Components {
    interface TrustcaptchaComponent {
        "autostart": boolean;
        "bypassToken": string | null;
        "customDesign": string;
        "customTranslations": string;
        "framework": string | null;
        "hideBranding": boolean;
        "hidePrivacy": boolean;
        "invisible": boolean;
        "invisibleHint": 'hidden' | 'inline' | 'right-border' | 'right-bottom';
        "language": string;
        "license": string | null;
        "mode": 'standard' | 'minimal';
        "privacyUrl": string;
        "reset": () => Promise<void>;
        "sitekey": string;
        "slider": 'disabled' | 'popup' | 'inline';
        "startVerification": () => Promise<void>;
        "theme": 'light' | 'dark' | 'media';
        "tokenFieldName": string;
        "trustcaptchaApi": string;
        "trustcaptchaUrl": string;
        "width": 'fixed' | 'full';
    }
}
export interface TrustcaptchaComponentCustomEvent<T> extends CustomEvent<T> {
    detail: T;
    target: HTMLTrustcaptchaComponentElement;
}
declare global {
    interface HTMLTrustcaptchaComponentElementEventMap {
        "captchaStarted": void;
        "captchaSolved": string;
        "captchaFailed": string;
        "captchaReset": void;
    }
    interface HTMLTrustcaptchaComponentElement extends Components.TrustcaptchaComponent, HTMLStencilElement {
        addEventListener<K extends keyof HTMLTrustcaptchaComponentElementEventMap>(type: K, listener: (this: HTMLTrustcaptchaComponentElement, ev: TrustcaptchaComponentCustomEvent<HTMLTrustcaptchaComponentElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
        addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
        removeEventListener<K extends keyof HTMLTrustcaptchaComponentElementEventMap>(type: K, listener: (this: HTMLTrustcaptchaComponentElement, ev: TrustcaptchaComponentCustomEvent<HTMLTrustcaptchaComponentElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
        removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
    }
    var HTMLTrustcaptchaComponentElement: {
        prototype: HTMLTrustcaptchaComponentElement;
        new (): HTMLTrustcaptchaComponentElement;
    };
    interface HTMLElementTagNameMap {
        "trustcaptcha-component": HTMLTrustcaptchaComponentElement;
    }
}
declare namespace LocalJSX {
    interface TrustcaptchaComponent {
        "autostart"?: boolean;
        "bypassToken"?: string | null;
        "customDesign"?: string;
        "customTranslations"?: string;
        "framework"?: string | null;
        "hideBranding"?: boolean;
        "hidePrivacy"?: boolean;
        "invisible"?: boolean;
        "invisibleHint"?: 'hidden' | 'inline' | 'right-border' | 'right-bottom';
        "language"?: string;
        "license"?: string | null;
        "mode"?: 'standard' | 'minimal';
        "onCaptchaFailed"?: (event: TrustcaptchaComponentCustomEvent<string>) => void;
        "onCaptchaReset"?: (event: TrustcaptchaComponentCustomEvent<void>) => void;
        "onCaptchaSolved"?: (event: TrustcaptchaComponentCustomEvent<string>) => void;
        "onCaptchaStarted"?: (event: TrustcaptchaComponentCustomEvent<void>) => void;
        "privacyUrl"?: string;
        "sitekey"?: string;
        "slider"?: 'disabled' | 'popup' | 'inline';
        "theme"?: 'light' | 'dark' | 'media';
        "tokenFieldName"?: string;
        "trustcaptchaApi"?: string;
        "trustcaptchaUrl"?: string;
        "width"?: 'fixed' | 'full';
    }
    interface IntrinsicElements {
        "trustcaptcha-component": TrustcaptchaComponent;
    }
}
export { LocalJSX as JSX };
declare module "@stencil/core" {
    export namespace JSX {
        interface IntrinsicElements {
            "trustcaptcha-component": LocalJSX.TrustcaptchaComponent & JSXBase.HTMLAttributes<HTMLTrustcaptchaComponentElement>;
        }
    }
}
