import { UnifiedDevice, DeviceProtocol } from './unified-device-factory'; import { UnifiedDiscoveryConfig } from './unified-discovery'; import { TapoLightState } from './lightstate/tapo-lightstate'; import { KasaLightState } from './lightstate/kasa-lightstate'; import { TapoApi } from './protocols/tapo-api'; export interface UnifiedApiConfig { email?: string; password?: string; token?: string; timeout?: number; httpTimeout?: number; } export declare class UnifiedTpLinkApi { private config; private deviceFactory; private discoveredDevices; constructor(config?: UnifiedApiConfig); discover(options?: UnifiedDiscoveryConfig): Promise<{ kasaDevices: any; tapoDevices: any[]; allDevices: UnifiedDevice[]; }>; getDevice(deviceId: string): UnifiedDevice | undefined; getAllDevices(): UnifiedDevice[]; getDevicesByProtocol(protocol: DeviceProtocol): UnifiedDevice[]; getDevicesByType(deviceType: string): UnifiedDevice[]; setPower(deviceId: string, power: boolean): Promise; turnOn(deviceId: string): Promise; turnOff(deviceId: string): Promise; setLightState(deviceId: string, state: any): Promise; setBrightness(deviceId: string, brightness: number): Promise; setRgb(deviceId: string, r: number, g: number, b: number): Promise; setHsl(deviceId: string, h: number, s: number, l: number): Promise; setColorTemperature(deviceId: string, colorTemp: number): Promise; getDeviceInfo(deviceId: string): Promise; getEnergyUsage(deviceId: string): Promise; setupTapoDevices(devices: Array<{ id: string; host: string; }>): Promise>; createTapoLightState(initialState?: any): TapoLightState; createKasaLightState(initialState?: any): KasaLightState; getLightStateClass(deviceId: string): typeof TapoLightState | typeof KasaLightState | null; private hslToRgb; getTapoApi(): TapoApi | null; static detectDeviceProtocol(deviceInfo: any): DeviceProtocol; static createDevice(deviceInfo: any, protocol?: DeviceProtocol): UnifiedDevice; }