export type RawDeviceTypes = 'SMART.TAPOBULB' | 'SMART.IPCAMERA' | 'SMART.TAPOPLUG' | 'SMART.TAPOSTRIP' | 'SMART.TAPOCAMERA' | 'IOT.SMARTBULB' | 'IOT.IPCAMERA' | 'IOT.SMARTPLUGSWITCH' | 'IOT.SMARTSTRIP' | 'IOT.SMARTCAMERA'; export type RawTapoDevice = { deviceType: RawDeviceTypes; fwVer: string; appServerUrl: string; deviceRegion: string; deviceId: string; deviceName: string; deviceHwVer: string; alias: string; deviceMac: string; oemId: string; deviceModel: string; hwId: string; fwId: string; isSameRegion: boolean; status: number; ip?: string; }; export type RawTapoDeviceInfo = { device_id: string; fw_ver: string; hw_ver: string; type: string; model: string; mac: string; hw_id: string; fw_id: string; oem_id: string; specs: string; device_on: boolean; on_time: number; overheated: boolean; nickname: string; location: string; avatar: string; time_usage_today: string; time_usage_past7: string; time_usage_past30: string; longitude: string; latitude: string; has_set_location_info: boolean; ip: string; ssid: string; signal_level: number; rssi: number; region: string; time_diff: number; lang: string; }; export type TapoDeviceKey = { key: string | Buffer; iv: string | Buffer; deviceIp: string; sessionCookie: string; token?: string; }; export type TapoVideoImage = { uri: string; length: number; uriExpiresAt: number; }; export type TapoVideo = { uri: string; duration: number; m3u8: string; startTimestamp: number; uriExpiresAt: number; }; export type TapoVideoPageItem = { uuid: string; video: TapoVideo[]; image: TapoVideoImage[]; createdTime: number; eventLocalTime: string; }; export type TapoVideoList = { deviceId: string; total: number; page: number; pageSize: number; index: TapoVideoPageItem[]; }; export type TapoEnergyUsage = { today_runtime: number; month_runtime: number; today_energy: number; month_energy: number; local_time: string; electricity_charge: number[]; }; export type TapoChildDevice = { device_id: string; nickname: string; device_on: boolean; position: number; avatar: string; }; export type TapoDeviceStatus = { device_on: boolean; brightness?: number; hue?: number; saturation?: number; color_temp?: number; overheated?: boolean; on_time?: number; signal_level?: number; rssi?: number; };