interface Turnstile {
render: (element: HTMLElement, options: TurnstileOptions) => string;
remove: (widgetId: string) => void;
}
interface TurnstileOptions {
sitekey: string;
callback: (token: string) => void;
'refresh-expired'?: 'auto' | 'manual';
size?: 'invisible' | 'normal' | 'compact';
'error-callback'?: (error: unknown) => void;
'expired-callback'?: () => void;
theme?: 'light' | 'dark' | 'auto';
language?: string;
}
declare global {
interface Window {
turnstile?: Turnstile;
}
}
export type { Turnstile, TurnstileOptions };