/// <reference types="react" />
export type TurnstileTheme = 'light' | 'dark' | 'auto';
export type TurnstileSize = 'normal' | 'compact';
export interface BCTurnstileProps {
    /** Cloudflare Turnstile site key */
    siteKey: string;
    /** Callback when verification succeeds */
    onSuccess?: (token: string) => void;
    /** Callback when verification fails */
    onError?: (error?: string) => void;
    /** Callback when token expires */
    onExpire?: () => void;
    /** Widget theme */
    theme?: TurnstileTheme;
    /** Widget size */
    size?: TurnstileSize;
    /** Additional class name */
    className?: string;
    /** Action identifier for analytics */
    action?: string;
}
export interface BCTurnstileRef {
    /** Reset the widget */
    reset: () => void;
    /** Get the current response token */
    getResponse: () => string | undefined;
    /** Execute the challenge (for invisible mode) */
    execute: () => void;
}
/**
 * BCTurnstile - Cloudflare Turnstile CAPTCHA component
 *
 * Usage:
 * ```tsx
 * const turnstileRef = useRef<BCTurnstileRef>(null);
 * const [token, setToken] = useState<string | null>(null);
 *
 * <BCTurnstile
 *   ref={turnstileRef}
 *   siteKey="your-site-key"
 *   onSuccess={(token) => setToken(token)}
 *   onError={() => setToken(null)}
 * />
 * ```
 */
export declare const BCTurnstile: import("react").ForwardRefExoticComponent<BCTurnstileProps & import("react").RefAttributes<BCTurnstileRef>>;
export default BCTurnstile;
