import { EventEmitter } from 'events'; import { DeviceInfo, DeviceStatus, HaierDevice } from '../types.js'; import { HaierAPI } from '../haier-api.js'; import { Logger } from 'homebridge'; export declare abstract class BaseDevice extends EventEmitter implements HaierDevice { device_id: string; device_name: string; device_model: string; device_type: string; mac: string; serialNumber?: string; firmwareVersion?: string; status: number; available: boolean; current_temperature: number; target_temperature: number; mode: string; fan_mode: string; swing_mode: string; max_temperature: number; min_temperature: number; quiet: boolean; turbo: boolean; comfort: boolean; health: boolean; light: boolean; sound: boolean; antifreeze: boolean; cleaning: boolean; autohumidity: boolean; eco_sensor: string; preset_mode_sleep: boolean; preset_mode_boost: boolean; protected api: HaierAPI; protected log: Logger; protected statusUpdateTimer: ReturnType | null; protected lastStatusUpdate: Date; constructor(deviceInfo: DeviceInfo, api: HaierAPI); protected startStatusUpdates(): void; initializeStatusUpdates(): void; private skipInitialFetch; setSkipInitialFetch(skip?: boolean): void; updateDeviceInfo(info: { model?: string; serialNumber?: string; firmwareVersion?: string; deviceName?: string; }): void; protected fetchInitialStatus(): Promise; updateFromStatus(status: DeviceStatus): void; abstract set_temperature(temp: number): Promise; abstract switch_on(mode?: string): Promise; abstract switch_off(): Promise; abstract set_operation_mode(mode: string): Promise; abstract set_fan_mode(mode: string): Promise; abstract set_swing_mode(mode: string): Promise; abstract set_preset_mode(mode: string): Promise; abstract set_quiet(enabled: boolean): Promise; abstract set_turbo(enabled: boolean): Promise; abstract set_comfort(enabled: boolean): Promise; abstract set_health(enabled: boolean): Promise; abstract set_light(enabled: boolean): Promise; set_sound(_enabled: boolean): Promise; abstract set_antifreeze(enabled: boolean): Promise; abstract set_cleaning(enabled: boolean): Promise; abstract set_autohumidity(enabled: boolean): Promise; abstract set_eco_sensor(mode: string): Promise; abstract set_sleep_mode(enabled: boolean): Promise; abstract set_boost_mode(enabled: boolean): Promise; protected sendCommand(command: { commandName: string; values: string[]; }): Promise; destroy(): void; private handleDeviceStatusUpdate; private handleLegacyStatusUpdate; toJSON(): Record; } //# sourceMappingURL=base-device.d.ts.map