import { TapoApiRequest, TapoApiResponse } from '../types'; export interface EnergyUsageData { current_power?: number; today_runtime?: number; month_runtime?: number; today_energy?: number; month_energy?: number; local_time?: string; electricity_charge?: number[]; } export interface EnergyStatistics { power_usage?: { today?: number; past7?: number[]; past30?: number[]; }; time_usage?: { today?: number; past7?: number[]; past30?: number[]; }; } /** * Controller for energy monitoring functionality * Single responsibility: Energy data retrieval and management */ export declare class EnergyController { private readonly sendRequest; constructor(sendRequest: (request: TapoApiRequest) => Promise); /** * Get current energy usage information */ getEnergyUsage(): Promise; /** * Get current power consumption */ getCurrentPower(): Promise; /** * Get energy statistics for specified period */ getEnergyStatistics(interval?: 'day' | 'week' | 'month'): Promise; /** * Check if device supports energy monitoring */ static supportsEnergyMonitoring(deviceModel: string): boolean; /** * Validate energy usage data */ validateEnergyData(data: EnergyUsageData): boolean; /** * Format energy data for display */ formatEnergyData(data: EnergyUsageData): string; /** * Get start timestamp for statistics query */ private getStartTimestamp; }