import { Collection } from "../collection/index.d.mts"; import type { TCollectionElement, TCollectionItemDefaultCfg } from "../collection/index.d.mts"; /** * DOM-элемент экземпляра captcha в коллекции. */ export type TCaptchaElement = TCollectionElement; /** * Состояние жизненного цикла виджета captcha. */ export type TCaptchaState = { render: boolean; ready: boolean; expired: boolean; error: boolean; verify: boolean; }; /** * Класс для управления Google Captcha. */ declare class Captcha { #private; stateClasses: { rendered: string; expired: string; error: string; verify: string; }; instance: TCaptchaElement; state: TCaptchaState; cfg: TCollectionItemDefaultCfg; constructor(instance: TCaptchaElement, _params?: TCollectionItemDefaultCfg); render(): void; getResponse(): any; reset(): void; bindEvents(): void; } /** * Плагин, представляющий коллекцию Google Captcha. * Автоматически загружает API v2. Является коллекцией. * @module CaptchaCollection * @memberof Collection * @example * //
*/ declare class CaptchaCollection extends Collection { /** * CSS-селектор элементов captcha для автоматической инициализации коллекции. * @type {string} */ static selector: string; /** * Набор всплывающих событий жизненного цикла captcha. * @type {{mount: string, unmount: string, ready: string, render: string, reset: string, verify: string, expire: string, error: string}} */ static bubbles: { mount: string; unmount: string; ready: string; render: string; reset: string; verify: string; expire: string; error: string; }; /** * Глобальное состояние загрузки скрипта и готовности reCAPTCHA API. * @type {{isScriptLoaded: boolean, isScriptLoading: boolean, isAPIReady: boolean}} */ static state: { isScriptLoaded: boolean; isScriptLoading: boolean; isAPIReady: boolean; }; constructor(); getByDOMElement(DOMElement: Element): Captcha | null; static loadAPI(): void; init(context?: Document | HTMLElement): void; bindEvents(): void; } export { Captcha, CaptchaCollection, };