import { Logger } from 'homebridge';
import VeSyncHumidifier from './VeSyncHumidifier';
import { VeSyncGeneric } from './VeSyncGeneric';
import DebugMode from '../debugMode';
import VeSyncFan from './VeSyncFan';
export declare enum BypassMethod {
    STATUS = "getPurifierStatus",
    MODE = "setPurifierMode",
    NIGHT = "setNightLight",
    DISPLAY = "setDisplay",
    LOCK = "setChildLock",
    SWITCH = "setSwitch",
    SPEED = "setLevel"
}
export declare enum HumidifierBypassMethod {
    HUMIDITY = "setTargetHumidity",
    STATUS = "getHumidifierStatus",
    MIST_LEVEL = "setVirtualLevel",
    MODE = "setHumidityMode",
    DISPLAY = "setDisplay",
    SWITCH = "setSwitch",
    LEVEL = "setLevel"
}
export default class VeSync {
    private readonly email;
    private readonly password;
    readonly debugMode: DebugMode;
    readonly log: Logger;
    private api?;
    private accountId?;
    private token?;
    private readonly VERSION;
    private readonly AGENT;
    private readonly TIMEZONE;
    private readonly OS;
    private readonly LANG;
    private readonly AXIOS_OPTIONS;
    constructor(email: string, password: string, debugMode: DebugMode, log: Logger);
    private generateDetailBody;
    private generateBody;
    private generateV2Body;
    sendCommand(fan: VeSyncGeneric, method: BypassMethod | HumidifierBypassMethod, body?: {}): Promise<boolean>;
    getDeviceInfo(fan: VeSyncGeneric, humidifier?: boolean): Promise<any>;
    startSession(): Promise<boolean>;
    private login;
    getDevices(): Promise<{
        purifiers: VeSyncFan[];
        humidifiers: VeSyncHumidifier[];
    }>;
}
//# sourceMappingURL=VeSync.d.ts.map