export interface BlockGuardOptions { checkOnLoad?: boolean; debug?: boolean; networkTest?: boolean; bannerScan?: boolean; testUrls?: string[]; extraTestUrls?: string[]; networkTestCount?: number; networkTimeout?: number; networkThreshold?: number; customBaitClasses?: string[]; baitCheckInterval?: number; baitCheckAttempts?: number; gtag?: boolean; gtagEventName?: string; gtagParams?: Record; analyticsCallback?: (detected: boolean, reason: string, details: object) => void; onDetected?: () => void; onNotDetected?: () => void; onResult?: (detected: boolean, reason: string, details: object) => void; } export interface BlockGuardState { detected: boolean | null; reason: string | null; checking: boolean; } declare class BlockGuard { constructor(options?: BlockGuardOptions); static version: string; static _isBot(): boolean; getState(): Readonly; check(): Promise; reset(): this; destroy(): void; onDetected(fn: () => void): this; onNotDetected(fn: () => void): this; getResult(): boolean | null; getReason(): string | null; getDetails(): object; getState(): Readonly; } export function useBlockGuard(options?: BlockGuardOptions): BlockGuardState; // React & Vue export default BlockGuard;