/**
 * VeSync Switch Implementations
 */
import { VeSyncSwitch } from './vesyncSwitch';
import { VeSync } from './vesync';
/**
 * Basic Wall Switch Implementation (ESWL01, ESWL03)
 */
export declare class VeSyncWallSwitch extends VeSyncSwitch {
    constructor(details: Record<string, any>, manager: VeSync);
    /**
     * Get wall switch details
     */
    getDetails(): Promise<Boolean>;
    /**
     * Get switch device configuration info
     */
    getConfig(): Promise<void>;
    /**
     * Turn off wall switch
     */
    turnOff(): Promise<boolean>;
    /**
     * Turn on wall switch
     */
    turnOn(): Promise<boolean>;
}
/**
 * Dimmer Switch Implementation (ESWD16)
 */
export declare class VeSyncDimmerSwitch extends VeSyncSwitch {
    private _brightness;
    private _rgbValue;
    private _rgbStatus;
    private _indicatorLight;
    constructor(details: Record<string, any>, manager: VeSync);
    /**
     * Get dimmer switch details
     */
    getDetails(): Promise<Boolean>;
    /**
     * Get dimmer switch configuration info
     */
    getConfig(): Promise<void>;
    /**
     * Turn off dimmer switch
     */
    turnOff(): Promise<boolean>;
    /**
     * Turn on dimmer switch
     */
    turnOn(): Promise<boolean>;
    /**
     * Set brightness level
     */
    setBrightness(brightness: number): Promise<boolean>;
    /**
     * Set RGB indicator color
     */
    rgbColorSet(red: number, green: number, blue: number): Promise<boolean>;
    /**
     * Turn on RGB indicator
     */
    rgbColorOff(): Promise<boolean>;
    /**
     * Turn RGB Color On
     */
    rgbColorOn(): Promise<boolean>;
    /**
     * Turn indicator light on
     */
    indicatorLightOn(): Promise<boolean>;
    /**
     * Turn indicator light off
     */
    indicatorLightOff(): Promise<boolean>;
    get brightness(): number;
    get indicatorLightStatus(): string;
    get rgbLightStatus(): string;
    get rgbLightValue(): Record<string, number>;
}
export declare const switchModules: Record<string, new (details: Record<string, any>, manager: VeSync) => VeSyncSwitch>;
