import type { BrowserName, DeviceCategory, GpuSpec, OSName } from '../types'; /** * Base device descriptor. The fingerprint generator picks one candidate from * each list (seeded) and layers deterministic micro-variation on top, so two * fingerprints built on the same profile differ realistically while every value * within a single fingerprint stays mutually coherent. */ export interface DeviceProfile { id: string; device: DeviceCategory; browser: BrowserName; os: OSName; /** Candidate user-agent strings (one is chosen by seed). */ userAgents: string[]; vendor: string; platform: string; oscpu?: string; /** Client-hint platform (`navigator.userAgentData.platform`). */ uaPlatform?: string; /** Full browser version for client hints, e.g. `140.0.7259.5`. */ uaFullVersion?: string; uaMobile: boolean; /** Candidate [width, height] screen resolutions. */ screens: Array<[number, number]>; devicePixelRatios: number[]; hardwareConcurrency: number[]; deviceMemory: number[]; maxTouchPoints: number; colorDepth: number; gpus: GpuSpec[]; /** Connection profile bias. */ connection: { effectiveType: '4g' | '3g'; rtt: [number, number]; downlink: [number, number]; }; } export declare const DEVICE_PROFILES: DeviceProfile[]; export declare function findProfile(id: string): DeviceProfile | undefined; export declare function listProfiles(): string[]; //# sourceMappingURL=devices.d.ts.map