import { Optional } from '../../../common'; export type PowerState = { isOn: boolean; }; export type BrightnessState = { brightness: number; }; export type ColorState = { color: { red: number; green: number; blue: number; }; }; export type ColorTemperatureState = { colorTemInKelvin: number; }; export type CurrentModeState = { mode: number; }; export type ConnectedState = { connected: 'true' | 'false' | boolean; }; export type StatusCurrentTemperature = { currentTemperature: number; }; export type StatusSetTemperature = { setTemperature: number; }; export type StatusCode = { code: string; }; export type StatusState = { status: Partial & Partial & Partial; }; export type OpCommand = { command: string[]; }; export type OpMode = { mode: string; value: string[] | number[]; }; export type OpCodeMode = { opCode: 'mode'; modeValue: string | string[]; }; export type OpCodeSleep = { opCode: 'sleep'; sleepValue: string | string[]; }; export type OpCodeWakeup = { opCode: 'wakeup'; wakeupValue: string | string[]; }; export type OpCodeTimer = { opCode: 'timer'; timerValue: string | string[]; }; export type MessageOpType = Partial | Partial | Partial | Partial | Partial | Partial; export type MessageStateType = Partial & Partial & Partial & Partial & Partial & Partial & Partial; export declare class StateStatus { currentTemperature?: Optional; setTemperature?: Optional; code?: Optional; } export declare class Color { red: number; green: number; blue: number; } export declare class MessageState { isOn?: Optional; brightness?: Optional; colorTemperature?: Optional; color?: Optional; mode?: Optional; connected?: Optional; status?: StateStatus; } export declare class MessageData { op: string; value: string; } export declare class MessageOp { command?: number[][]; mode?: string; value?: string | string[]; opCode?: string; modeValue?: string; sleepValue?: string; timerValue?: string; wakeupValue?: string; } export declare class IoTMessage { proType: number; model: string; deviceId: string; softwareVersion?: string; wifiSoftwareVersion?: string; command: string; type: 0; transaction: string; pactType: number; pactCode: number; op?: MessageOp; state: MessageState; battery?: number; leakDetected?: 'true' | 'false' | boolean; temperature?: number; temperatureF?: number; humidity?: number; commands?: string[]; bulb?: string | string[]; data?: MessageData; } //# sourceMappingURL=iot-message.d.ts.map