import { z } from 'zod'; import type { FirefoxUserPrefs } from './prefs.js'; export declare const fingerprintLocalesValueSchema: z.ZodUnion<[z.ZodString, z.ZodArray]>; export declare const fingerprintScreenSchema: z.ZodObject<{ profile: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; availWidth: z.ZodOptional; availHeight: z.ZodOptional; availTop: z.ZodOptional; availLeft: z.ZodOptional; colorDepth: z.ZodOptional; pixelDepth: z.ZodOptional; devicePixelRatio: z.ZodOptional; }, "strip", z.ZodTypeAny, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; availWidth?: number | undefined; availHeight?: number | undefined; availTop?: number | undefined; availLeft?: number | undefined; colorDepth?: number | undefined; pixelDepth?: number | undefined; devicePixelRatio?: number | undefined; }, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; availWidth?: number | undefined; availHeight?: number | undefined; availTop?: number | undefined; availLeft?: number | undefined; colorDepth?: number | undefined; pixelDepth?: number | undefined; devicePixelRatio?: number | undefined; }>; export declare const fingerprintWindowSchema: z.ZodObject<{ profile: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; innerWidth: z.ZodOptional; innerHeight: z.ZodOptional; outerWidth: z.ZodOptional; outerHeight: z.ZodOptional; screenX: z.ZodOptional; screenY: z.ZodOptional; devicePixelRatio: z.ZodOptional; historyLength: z.ZodOptional; }, "strip", z.ZodTypeAny, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; devicePixelRatio?: number | undefined; innerWidth?: number | undefined; innerHeight?: number | undefined; outerWidth?: number | undefined; outerHeight?: number | undefined; screenX?: number | undefined; screenY?: number | undefined; historyLength?: number | undefined; }, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; devicePixelRatio?: number | undefined; innerWidth?: number | undefined; innerHeight?: number | undefined; outerWidth?: number | undefined; outerHeight?: number | undefined; screenX?: number | undefined; screenY?: number | undefined; historyLength?: number | undefined; }>; export declare const fingerprintGeolocationSchema: z.ZodObject<{ latitude: z.ZodNumber; longitude: z.ZodNumber; accuracy: z.ZodOptional; timezone: z.ZodOptional; region: z.ZodOptional; webrtcIpv4: z.ZodOptional; webrtcIpv6: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude: number; longitude: number; accuracy?: number | undefined; timezone?: string | undefined; region?: string | undefined; webrtcIpv4?: string | undefined; webrtcIpv6?: string | undefined; }, { latitude: number; longitude: number; accuracy?: number | undefined; timezone?: string | undefined; region?: string | undefined; webrtcIpv4?: string | undefined; webrtcIpv6?: string | undefined; }>; export declare const fingerprintHelperSchema: z.ZodObject<{ locales: z.ZodOptional]>>; region: z.ZodOptional; geolocation: z.ZodOptional; timezone: z.ZodOptional; region: z.ZodOptional; webrtcIpv4: z.ZodOptional; webrtcIpv6: z.ZodOptional; }, "strip", z.ZodTypeAny, { latitude: number; longitude: number; accuracy?: number | undefined; timezone?: string | undefined; region?: string | undefined; webrtcIpv4?: string | undefined; webrtcIpv6?: string | undefined; }, { latitude: number; longitude: number; accuracy?: number | undefined; timezone?: string | undefined; region?: string | undefined; webrtcIpv4?: string | undefined; webrtcIpv6?: string | undefined; }>>; screenProfile: z.ZodOptional; screen: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; availWidth: z.ZodOptional; availHeight: z.ZodOptional; availTop: z.ZodOptional; availLeft: z.ZodOptional; colorDepth: z.ZodOptional; pixelDepth: z.ZodOptional; devicePixelRatio: z.ZodOptional; }, "strip", z.ZodTypeAny, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; availWidth?: number | undefined; availHeight?: number | undefined; availTop?: number | undefined; availLeft?: number | undefined; colorDepth?: number | undefined; pixelDepth?: number | undefined; devicePixelRatio?: number | undefined; }, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; availWidth?: number | undefined; availHeight?: number | undefined; availTop?: number | undefined; availLeft?: number | undefined; colorDepth?: number | undefined; pixelDepth?: number | undefined; devicePixelRatio?: number | undefined; }>]>>; windowProfile: z.ZodOptional; window: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; innerWidth: z.ZodOptional; innerHeight: z.ZodOptional; outerWidth: z.ZodOptional; outerHeight: z.ZodOptional; screenX: z.ZodOptional; screenY: z.ZodOptional; devicePixelRatio: z.ZodOptional; historyLength: z.ZodOptional; }, "strip", z.ZodTypeAny, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; devicePixelRatio?: number | undefined; innerWidth?: number | undefined; innerHeight?: number | undefined; outerWidth?: number | undefined; outerHeight?: number | undefined; screenX?: number | undefined; screenY?: number | undefined; historyLength?: number | undefined; }, { profile?: string | undefined; width?: number | undefined; height?: number | undefined; devicePixelRatio?: number | undefined; innerWidth?: number | undefined; innerHeight?: number | undefined; outerWidth?: number | undefined; outerHeight?: number | undefined; screenX?: number | undefined; screenY?: number | undefined; historyLength?: number | undefined; }>]>>; fonts: z.ZodOptional>; fontSpacingSeed: z.ZodOptional; blockImages: z.ZodOptional; blockWebRtc: z.ZodOptional; blockWebGl: z.ZodOptional; disableCoop: z.ZodOptional; }, "strip", z.ZodTypeAny, { region?: string | undefined; locales?: string | string[] | undefined; geolocation?: { latitude: number; longitude: number; accuracy?: number | undefined; timezone?: string | undefined; region?: string | undefined; webrtcIpv4?: string | undefined; webrtcIpv6?: string | undefined; } | undefined; screenProfile?: string | undefined; screen?: string | { profile?: string | undefined; width?: number | undefined; height?: number | undefined; availWidth?: number | undefined; availHeight?: number | undefined; availTop?: number | undefined; availLeft?: number | undefined; colorDepth?: number | undefined; pixelDepth?: number | undefined; devicePixelRatio?: number | undefined; } | undefined; windowProfile?: string | undefined; window?: string | { profile?: string | undefined; width?: number | undefined; height?: number | undefined; devicePixelRatio?: number | undefined; innerWidth?: number | undefined; innerHeight?: number | undefined; outerWidth?: number | undefined; outerHeight?: number | undefined; screenX?: number | undefined; screenY?: number | undefined; historyLength?: number | undefined; } | undefined; fonts?: string[] | undefined; fontSpacingSeed?: number | undefined; blockImages?: boolean | undefined; blockWebRtc?: boolean | undefined; blockWebGl?: boolean | undefined; disableCoop?: boolean | undefined; }, { region?: string | undefined; locales?: string | string[] | undefined; geolocation?: { latitude: number; longitude: number; accuracy?: number | undefined; timezone?: string | undefined; region?: string | undefined; webrtcIpv4?: string | undefined; webrtcIpv6?: string | undefined; } | undefined; screenProfile?: string | undefined; screen?: string | { profile?: string | undefined; width?: number | undefined; height?: number | undefined; availWidth?: number | undefined; availHeight?: number | undefined; availTop?: number | undefined; availLeft?: number | undefined; colorDepth?: number | undefined; pixelDepth?: number | undefined; devicePixelRatio?: number | undefined; } | undefined; windowProfile?: string | undefined; window?: string | { profile?: string | undefined; width?: number | undefined; height?: number | undefined; devicePixelRatio?: number | undefined; innerWidth?: number | undefined; innerHeight?: number | undefined; outerWidth?: number | undefined; outerHeight?: number | undefined; screenX?: number | undefined; screenY?: number | undefined; historyLength?: number | undefined; } | undefined; fonts?: string[] | undefined; fontSpacingSeed?: number | undefined; blockImages?: boolean | undefined; blockWebRtc?: boolean | undefined; blockWebGl?: boolean | undefined; disableCoop?: boolean | undefined; }>; export type FingerprintScreenInput = z.infer; export type FingerprintWindowInput = z.infer; export type FingerprintGeolocationInput = z.infer; export type FingerprintHelperInput = z.infer; export interface ResolvedFingerprintHelpers { camouConfig: Record; firefoxUserPrefs: FirefoxUserPrefs; locale?: string | undefined; timezoneId?: string | undefined; viewport?: { width: number; height: number; } | undefined; } export interface FingerprintScreenProfileDefinition { name: string; width: number; height: number; availWidth: number; availHeight: number; devicePixelRatio: number; suggestedWindow: { innerWidth: number; innerHeight: number; outerWidth: number; outerHeight: number; }; } export interface FingerprintWindowProfileDefinition { name: string; innerWidth: number; innerHeight: number; outerWidth: number; outerHeight: number; devicePixelRatio: number; } export interface FingerprintRegionProfileDefinition { region: string; description: string; locales: string[]; timezone: string; latitude: number; longitude: number; } export declare function mergeFingerprintHelpers(base: FingerprintHelperInput | undefined, override: FingerprintHelperInput | undefined): FingerprintHelperInput | undefined; export declare function resolveFingerprintHelpers(input: FingerprintHelperInput | undefined): ResolvedFingerprintHelpers; export declare function listFingerprintScreenProfiles(): string[]; export declare function listFingerprintWindowProfiles(): string[]; export declare function describeFingerprintScreenProfiles(): FingerprintScreenProfileDefinition[]; export declare function describeFingerprintWindowProfiles(): FingerprintWindowProfileDefinition[]; export declare function describeFingerprintRegionProfiles(): FingerprintRegionProfileDefinition[];