import { EventEmitter } from '../../stencil-public-runtime';
import { CaptchaBox } from './src/captcha-box';
import { Status } from './src/status';
import { NamedTranslation } from "./locale";
import { License } from "./src/license";
import { Config } from "./config";
export declare class TrustcaptchaComponent {
    design: Design;
    private hostElement;
    sitekey: string;
    trustcaptchaUrl: string;
    privacyUrl: string;
    trustcaptchaApi: string;
    framework: string | null;
    language: string;
    customTranslations: string;
    theme: 'light' | 'dark' | 'media';
    customDesign: string;
    autostart: boolean;
    tokenFieldName: string;
    bypassToken: string | null;
    mode: 'standard' | 'minimal';
    width: 'fixed' | 'full';
    license: string | null;
    invisible: boolean;
    invisibleHint: 'hidden' | 'inline' | 'right-border' | 'right-bottom';
    hideBranding: boolean;
    captchaStarted: EventEmitter<void>;
    captchaSolved: EventEmitter<string>;
    captchaFailed: EventEmitter<string>;
    captchaReset: EventEmitter<void>;
    captchaStatus: Status;
    captchaBox: CaptchaBox;
    licenseObject?: License;
    translation: NamedTranslation;
    currentTheme: 'light' | 'dark';
    failureText: string;
    mergedDesign: Design;
    getConfig(): Config;
    private mergeDeep;
    componentWillLoad(): Promise<void>;
    watchLanguageUpdate(): void;
    watchThemeUpdate(): void;
    watchCustomTranslationUpdate(): void;
    watchCustomDesignUpdate(): void;
    private setNewConfig;
    watchHtmlLangUpdate(): void;
    startVerification(): Promise<void>;
    reset(): Promise<void>;
    dummyState: number;
    render(): any;
    private renderCheckboxDesign;
    private renderCheckBoxIcon;
    private renderInvisibleHint;
}
export interface Design {
    rounding: Rounding;
    theme: Theme;
}
export interface Rounding {
    box: string;
    checkbox: string;
    invisibleHint: string;
}
export interface Theme {
    light: Colors;
    dark: Colors;
}
export interface Colors {
    boxDefaultBackground: string;
    boxDefaultText: string;
    boxDefaultBorder: string;
    boxCheckboxBackground: string;
    boxCheckboxBorder: string;
    boxSuccessBackground: string;
    boxSuccessBorder: string;
    invisibleHintBackground: string;
}
