import { DeviceType } from './deviceTypes';
import VeSync from './VeSync';
export declare enum Mode {
    Manual = "manual",
    Sleep = "sleep",
    Auto = "auto",
    AutoPro = "autoPro",
    Humidity = "humidity"
}
export default class VeSyncFan {
    private readonly client;
    readonly name: string;
    private _mode;
    private _isOn;
    private _mistLevel;
    private _warmLevel;
    private _warmEnabled;
    private _brightnessLevel;
    private _humidityLevel;
    private _targetHumidity;
    private _targetReached;
    private _lightOn;
    private _lightSpeed;
    private _red;
    private _blue;
    private _green;
    private _colorMode;
    private _colorSliderLocation;
    readonly configModule: string;
    readonly cid: string;
    readonly region: string;
    readonly model: string;
    readonly mac: string;
    readonly uuid: string;
    private lock;
    readonly deviceType: DeviceType;
    private lastCheck;
    private _displayOn;
    readonly manufacturer = "Levoit";
    get humidityLevel(): number;
    get targetHumidity(): number;
    get displayOn(): boolean;
    get brightnessLevel(): number;
    get mistLevel(): number;
    get warmLevel(): number;
    get warmEnabled(): boolean;
    get lightOn(): string;
    get mode(): Mode;
    get targetReached(): boolean;
    get isOn(): boolean;
    get getBlue(): number;
    get getGreen(): number;
    get getColorMode(): string;
    get getColorSliderLocation(): number;
    get getLightSpeed(): number;
    get getRed(): number;
    constructor(client: VeSync, name: string, _mode: Mode, _isOn: boolean, _mistLevel: number, _warmLevel: number, _warmEnabled: boolean, _brightnessLevel: number, _humidityLevel: number, _targetHumidity: number, _targetReached: boolean, _lightOn: string, _lightSpeed: number, _red: number, _blue: number, _green: number, _colorMode: string, _colorSliderLocation: number, configModule: string, cid: string, region: string, model: string, mac: string, uuid: string);
    setPower(power: boolean): Promise<boolean>;
    setTargetHumidity(level: number): Promise<boolean>;
    changeMode(mode: Mode): Promise<boolean>;
    setBrightness(brightness: number): Promise<boolean>;
    setDisplay(power: boolean): Promise<boolean>;
    changeMistLevel(mistLevel: number): Promise<boolean>;
    changeWarmMistLevel(warmMistLevel: number): Promise<boolean>;
    setLightStatus(action: string, brightness: number): Promise<boolean>;
    updateInfo(): Promise<void>;
    static fromResponse: (client: VeSync) => ({ deviceName, mode, deviceStatus, mistLevel, warmLevel, warmEnabled, brightnessLevel, humidity, targetHumidity, targetReached, lightOn, lightSpeed, red, blue, green, colorMode, colorSliderLocation, configModule, cid, deviceRegion, deviceType, macID, uuid, }: {
        deviceName: any;
        mode: any;
        deviceStatus: any;
        mistLevel: any;
        warmLevel: any;
        warmEnabled: any;
        brightnessLevel: any;
        humidity: any;
        targetHumidity: any;
        targetReached: any;
        lightOn: any;
        lightSpeed: any;
        red: any;
        blue: any;
        green: any;
        colorMode: any;
        colorSliderLocation: any;
        configModule: any;
        cid: any;
        deviceRegion: any;
        deviceType: any;
        macID: any;
        uuid: any;
    }) => VeSyncFan;
}
//# sourceMappingURL=VeSyncFan.d.ts.map