/**
 * 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<string, any>;
    protected details: Record<string, any>;
    protected features: string[];
    constructor(details: Record<string, any>, manager: VeSync);
    /**
     * Get outlet details
     */
    getDetails(): Promise<Boolean>;
    /**
     * Update outlet energy data
     */
    updateEnergy(): Promise<void>;
    /**
     * Get outlet energy usage
     */
    getEnergyUsage(): Promise<Record<string, any>>;
    /**
     * Get outlet status
     */
    getStatus(): Promise<string>;
    /**
     * Get API prefix based on device type
     */
    private getApiPrefix;
    /**
     * Get weekly energy data
     */
    getWeeklyEnergy(): Promise<void>;
    /**
     * Get monthly energy data
     */
    getMonthlyEnergy(): Promise<void>;
    /**
     * Get yearly energy data
     */
    getYearlyEnergy(): Promise<void>;
    /**
     * Update outlet details and energy info
     */
    update(): Promise<Boolean>;
    /**
     * Check if outlet has nightlight feature
     */
    hasNightlight(): boolean;
    /**
     * Turn outlet on
     */
    abstract turnOn(): Promise<boolean>;
    /**
     * Turn outlet off
     */
    abstract turnOff(): Promise<boolean>;
}
export {};
