/** * Device Domain - Core Entities * * This file defines core types and interfaces for device information. * All types are self-contained - no external dependencies for types. * * @domain device * @layer domain/entities */ /** * Device type enumeration (matches expo-device values) */ export declare enum DeviceType { UNKNOWN = 0, PHONE = 1, TABLET = 2, DESKTOP = 3, TV = 4 } /** * Device information interface */ export interface DeviceInfo { brand: string | null; manufacturer: string | null; modelName: string | null; modelId: string | null; deviceName: string | null; deviceYearClass: number | null; deviceType: DeviceType | null; isDevice: boolean; osName: string | null; osVersion: string | null; osBuildId: string | null; platformApiLevel: number | null; totalMemory: number | null; platform: 'ios' | 'android' | 'web'; timezone: string | null; region: string | null; } /** * Application information interface */ export interface ApplicationInfo { applicationName: string; applicationId: string; nativeApplicationVersion: string | null; nativeBuildVersion: string | null; installTime: Date | null; lastUpdateTime: Date | null; androidId: string | null; iosIdForVendor: string | null; } /** * Combined device and app info */ export interface SystemInfo { device: DeviceInfo; application: ApplicationInfo; timestamp: number; userId?: string; } /** * Device constants */ export declare const DEVICE_CONSTANTS: { readonly DEVICE_TYPE: { readonly UNKNOWN: 0; readonly PHONE: 1; readonly TABLET: 2; readonly DESKTOP: 3; readonly TV: 4; }; readonly PLATFORM: { readonly IOS: "ios"; readonly ANDROID: "android"; readonly WEB: "web"; }; };