import { TapoApiRequest, TapoApiResponse, TapoDeviceInfo } from '../types'; export interface DeviceUsage { time_usage?: { today?: number; past7?: number[]; past30?: number[]; }; } /** * Controller for basic device operations (on/off, info, usage) * Single responsibility: Basic device control and information */ export declare class DeviceController { private readonly sendRequest; constructor(sendRequest: (request: TapoApiRequest) => Promise); /** * Turn device on */ turnOn(): Promise; /** * Turn device off */ turnOff(): Promise; /** * Get device information */ getDeviceInfo(): Promise; /** * Get device usage information */ getDeviceUsage(): Promise; /** * Set device alias/name */ setAlias(alias: string): Promise; /** * Reset device to factory settings */ resetDevice(): Promise; /** * Reboot device */ rebootDevice(): Promise; /** * Check if device is online and responsive */ ping(): Promise; /** * Get device status summary */ getStatusSummary(): Promise<{ isOnline: boolean; isOn: boolean; alias: string; model: string; rssi?: number; }>; /** * Set device location */ setLocation(latitude: number, longitude: number): Promise; /** * Validate device model for specific features */ static validateDeviceModel(deviceModel: string, requiredFeatures: string[]): boolean; /** * Get supported features for a device model */ static getModelFeatures(deviceModel: string): string[]; }