export interface StorageQuotaInfo { quota: number; usage: number; available: number; } export interface DeviceProfile { userAgent: string; platform?: string | null; deviceMemory?: number | null; hardwareConcurrency?: number | null; vendor?: string | null; screenHeight?: number | null; screenWidth?: number | null; viewportHeight?: number | null; viewportWidth?: number | null; devicePixelRatio?: number | null; webglRenderer?: string | null; webglVendor?: string | null; webGpuArchitecture?: string | null; webGpuVendor?: string | null; storageQuota?: StorageQuotaInfo | null; jsHeapSizeLimit?: number | null; fonts?: string[]; userAgentData?: any; weight?: number; deviceType?: string; browser?: string; osName?: string; [key: string]: any; } export type DeviceProfileFilter = Partial> & {}; export type DeviceProfilePredicate = (profile: DeviceProfile) => boolean; export declare class DeviceProfiles { [key: string]: any; userAgent: string; private _profile; constructor(filter?: DeviceProfileFilter | DeviceProfilePredicate); static all(): DeviceProfile[]; static random(): DeviceProfile; static random(filter: DeviceProfileFilter): DeviceProfile; static random(predicate: DeviceProfilePredicate): DeviceProfile; get profile(): DeviceProfile; } export default DeviceProfiles;