import { GenericDevice, TListenerCallback } from './GenericDevice';
interface IAirPurifierProConfig {
    address: string;
    token: string;
    pollingIntervalMS?: number;
}
interface IAirPurifierProProperties {
    pm25: number;
    power: boolean;
    mode: EOperationMode;
    favoriteLevel: number;
    led: boolean;
    volume: number;
    filterLifeRemaining: number;
    humidity: number;
    temperature: number;
    illuminance: number;
    motorSpeed: number;
}
declare type TAirPurifierProProperty = keyof IAirPurifierProProperties;
export declare enum ESwitchableMode {
    ON = "on",
    OFF = "off"
}
export declare enum EOperationMode {
    AUTO = "auto",
    SILENT = "silent",
    FAVORITE = "favorite"
}
export declare class AirPurifierPro extends GenericDevice {
    properties: IAirPurifierProProperties;
    constructor(config: IAirPurifierProConfig);
    setPower(power: ESwitchableMode): void;
    setMode(mode: EOperationMode): void;
    setLed(led: ESwitchableMode): void;
    setFavoriteLevel(level: number): void;
    setVolume(number: any): void;
    on<T extends TAirPurifierProProperty>(property: T, cb: TListenerCallback<IAirPurifierProProperties[T]>): void;
}
export {};
//# sourceMappingURL=AirPurifierPro.d.ts.map