import type { CaptchaHandle, CaptchaState, Provider, ProviderConfig, ScriptOptions } from "@better-captcha/core"; import { SvelteComponent } from "svelte"; export interface BaseCaptchaProps< TOptions, TResponse, TSolve, THandle extends CaptchaHandle, TProvider extends Provider, > { providerClass: new (sitekeyOrEndpoint: string, scriptOptions?: ScriptOptions) => TProvider; value: string; options?: TOptions; scriptOptions?: ScriptOptions; class?: string; style?: string; autoRender?: boolean; onready?: (handle: THandle) => void; onerror?: (error: Error) => void; onSolve?: (token: TSolve) => void; } export default class BaseCaptcha< TOptions = unknown, TResponse = string, TSolve = string, THandle extends CaptchaHandle = CaptchaHandle, TProvider extends Provider = Provider< TOptions, THandle, TResponse, TSolve >, > extends SvelteComponent> { execute(): Promise; reset(): void; destroy(): void; getResponse(): ReturnType | undefined; getComponentState(): CaptchaState; render(): Promise; }