import { OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
type CallbackFn = (token: string) => void;
type ExpiredCallbackFn = () => void;
type ErrorCallbackFn = () => void;
export declare class ScReCaptchaBase implements OnInit, OnDestroy, ControlValueAccessor {
    private readonly id;
    protected widgetId: string;
    private readonly changeDetectorRef;
    private readonly scReCaptchaService;
    private readonly v2SiteKey;
    readonly siteKeyInput: import("@angular/core").InputSignal<string>;
    private readonly siteKey;
    readonly tabindex: import("@angular/core").InputSignal<string>;
    readonly callback: import("@angular/core").InputSignal<CallbackFn | undefined>;
    readonly expiredCallback: import("@angular/core").InputSignal<ExpiredCallbackFn | undefined>;
    readonly errorCallback: import("@angular/core").InputSignal<ErrorCallbackFn | undefined>;
    private readonly value;
    private readonly disabledByCva;
    scriptLoaded: boolean;
    private readonly router;
    private readonly recaptchaContainer;
    private readonly subscriptions;
    scriptLoadError: import("@angular/core").OutputEmitterRef<void>;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private isWidgetRendered;
    private loadRecaptcha;
    render(): void;
    protected renderWidget(themeOrBadge: string, themeOrBadgeValue: string, size: string): void;
    private defaultCallback;
    private defaultExpiredCallback;
    private defaultErrorCallback;
    getResponse(): void;
    reset(): void;
    private setValue;
    writeValue(obj: any): void;
    onChange: any;
    onTouch: any;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ScReCaptchaBase, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ScReCaptchaBase, never, never, { "siteKeyInput": { "alias": "siteKey"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "callback": { "alias": "callback"; "required": false; "isSignal": true; }; "expiredCallback": { "alias": "expired-callback"; "required": false; "isSignal": true; }; "errorCallback": { "alias": "error-callback"; "required": false; "isSignal": true; }; }, { "scriptLoadError": "scriptLoadError"; }, never, never, true, never>;
}
export {};
