export type DeviceInfoKey = 'deviceType' | 'isEmulator' | 'deviceModel' | 'OS' | 'OSVersion' | 'platform' | 'screenHeight' | 'screenWidth' | 'viewportHeight' | 'viewportWidth' | 'devicePixelRatio' | 'hardwareConcurrency' | 'touchSupport' | 'cookieEnabled' | 'colorScheme' | 'timezone' | 'language' | 'netWork' | 'orientation' | 'browserInfo' | 'fingerprint' | 'userAgent' | 'geoPosition' | 'date' | 'lunarDate' | 'week' | 'UUID'; export interface DeviceInfoOptions { domain?: string; transferDateToLunar?: string; info?: DeviceInfoKey[]; } export interface LunarDateInfo { year: string; month: string; day: string; chineseZodiac: string; } export interface DeviceInfo { deviceType?: string; isEmulator?: boolean; deviceModel?: string; OS?: string; OSVersion?: string; platform?: string; screenHeight?: number; screenWidth?: number; viewportHeight?: number; viewportWidth?: number; devicePixelRatio?: number; hardwareConcurrency?: number; touchSupport?: boolean; cookieEnabled?: boolean; colorScheme?: string; timezone?: string; language?: string; netWork?: string; orientation?: string; browserInfo?: string; fingerprint?: string; userAgent?: string; geoPosition?: string; date?: string; lunarDate?: LunarDateInfo; week?: string; UUID?: string; } export interface DeviceApi { Info(params?: DeviceInfoOptions): Promise; }