///
import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { ClassListCtor } from '@dshch/rad-ui/common';
import { RecaptchaLoaderService } from './recaptcha-loader.service';
import { RecaptchaSettings } from './recaptcha-settings';
import * as i0 from "@angular/core";
export declare type NeverUndefined = T extends undefined ? never : T;
export declare type RecaptchaErrorParameters = Parameters>;
declare class CaptchaBase {
constructor();
}
declare const _CaptchaMixinBase: ClassListCtor & typeof CaptchaBase;
export declare class CaptchaComponent extends _CaptchaMixinBase implements OnInit, AfterViewInit, OnDestroy {
private loader;
private zone;
protected settings?: RecaptchaSettings;
id: string;
label: string;
tooltip: string;
required: boolean;
formControl: FormControl;
errorMessages: {};
inputClassList: string;
labelClassList: string;
wrapClassList: string;
siteKey: string;
theme: ReCaptchaV2.Theme;
type: ReCaptchaV2.Type;
size: ReCaptchaV2.Size;
tabIndex?: number;
badge: ReCaptchaV2.Badge;
errorMode: 'handled' | 'default';
resolved: EventEmitter;
error: EventEmitter<[]>;
recaptchaElement?: ElementRef;
/** @internal */
private widget?;
/** @internal */
private grecaptcha?;
/** @internal */
private executeRequested;
private unsubscribe$;
constructor(loader: RecaptchaLoaderService, zone: NgZone, settings?: RecaptchaSettings);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
/**
* Executes the invisible recaptcha.
* Does nothing if component's size is not set to "invisible".
*/
execute(): void;
reset(): void;
/** @internal */
private expired;
/** @internal */
private errored;
/** @internal */
private captchaResponseCallback;
/** @internal */
private grecaptchaReset;
/** @internal */
private renderRecaptcha;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
export {};