/** * VeSync Outlets */ import { VeSyncBaseDevice } from './vesyncBaseDevice'; import { VeSync } from './vesync'; interface OutletConfig { [key: string]: { module: string; features: string[]; }; } export declare const outletConfig: OutletConfig; /** * VeSync Outlet Base Class */ export declare abstract class VeSyncOutlet extends VeSyncBaseDevice { protected energy: Record; protected details: Record; protected features: string[]; constructor(details: Record, manager: VeSync); /** * Get outlet details */ getDetails(): Promise; /** * Update outlet energy data */ updateEnergy(): Promise; /** * Get outlet energy usage */ getEnergyUsage(): Promise>; /** * Get outlet status */ getStatus(): Promise; /** * Get API prefix based on device type */ private getApiPrefix; /** * Get weekly energy data */ getWeeklyEnergy(): Promise; /** * Get monthly energy data */ getMonthlyEnergy(): Promise; /** * Get yearly energy data */ getYearlyEnergy(): Promise; /** * Update outlet details and energy info */ update(): Promise; /** * Check if outlet has nightlight feature */ hasNightlight(): boolean; /** * Turn outlet on */ abstract turnOn(): Promise; /** * Turn outlet off */ abstract turnOff(): Promise; } export {};