interface FingerprintData {
    userAgent: string;
    screen: ScreenData;
    timezone: string;
    language: string;
    platform: string;
    cookieEnabled: boolean;
    doNotTrack: string | null;
    canvas: string;
    webgl: WebGLData;
    audio: string;
    fonts: string[];
    plugins: PluginData[];
    hardware: HardwareData;
    network: NetworkData;
    browserSpecific: Record<string, any>;
}
interface ScreenData {
    width: number;
    height: number;
    colorDepth: number;
    pixelRatio: number;
    availWidth: number;
    availHeight: number;
}
interface WebGLData {
    vendor: string;
    renderer: string;
    extensions: string[];
    parameters: Record<string, any>;
}
interface PluginData {
    name: string;
    filename: string;
    description: string;
}
interface HardwareData {
    hardwareConcurrency: number;
    deviceMemory: number;
    maxTouchPoints: number;
}
interface NetworkData {
    connection?: {
        effectiveType: string;
        rtt: number;
        downlink: number;
    };
    onLine: boolean;
}
declare class BrowserFingerprint {
    private cache;
    private browserInfo;
    generateFingerprint(): Promise<string>;
    private detectBrowser;
    private detectPrivateMode;
    private collectFingerprintData;
    private getBrowserSpecificData;
    private getMediaQueryData;
    private getPerformanceData;
    private getDOMProperties;
    private getMathConstants;
    private getUserAgent;
    private getScreenData;
    private getTimezone;
    private getLanguage;
    private getPlatform;
    private getCookieEnabled;
    private getDoNotTrack;
    private getCanvasFingerprint;
    private isCanvasRandomized;
    private getAlternativeIdentifier;
    private getWebGLData;
    private getMinimalWebGLData;
    private getWebGLFallback;
    private getAudioFingerprint;
    private getFonts;
    private getPlugins;
    private getHardwareData;
    private getNetworkData;
    private hashData;
    getFingerprintWithComponents(): Promise<{
        fingerprint: string;
        components: FingerprintData;
    }>;
    getConfidenceScore(): Promise<{
        score: number;
        details: Record<string, any>;
    }>;
    private getBrowserMultiplier;
    private getRecommendation;
    getBrowserCompatibilityReport(): Promise<Record<string, any>>;
}
declare function debugPrivateMode(): Promise<string>;
export { BrowserFingerprint, type FingerprintData, debugPrivateMode };
//# sourceMappingURL=BrowserFingerprint.d.ts.map