import { baseDevice } from '../baseDevice';
import { LGThinQHomebridgePlatform } from '../platform';
import { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { Device } from '../lib/Device';
export declare enum ACModelType {
    AWHP = "AWHP",
    RAC = "RAC"
}
export declare enum FanSpeed {
    LOW = 2,
    LOW_MEDIUM = 3,
    MEDIUM = 4,
    MEDIUM_HIGH = 5,
    HIGH = 6
}
export default class AirConditioner extends baseDevice {
    readonly platform: LGThinQHomebridgePlatform;
    readonly accessory: PlatformAccessory;
    protected service: any;
    protected serviceAirQuality: any;
    protected serviceSensor: any;
    protected serviceHumiditySensor: any;
    protected serviceLight: any;
    protected serviceFanV2: any;
    protected serviceJetMode: any;
    protected serviceQuietMode: any;
    protected serviceEnergySaveMode: any;
    protected serviceAirClean: any;
    protected jetModeModels: string[];
    protected quietModeModels: string[];
    protected energySaveModeModels: string[];
    protected airCleanModels: string[];
    protected currentTargetState: number;
    protected serviceLabelButtons: any;
    constructor(platform: LGThinQHomebridgePlatform, accessory: PlatformAccessory);
    get config(): any;
    get Status(): ACStatus;
    setEnergySaveActive(value: CharacteristicValue): Promise<void>;
    setAirCleanActive(value: CharacteristicValue): Promise<void>;
    setQuietModeActive(value: CharacteristicValue): Promise<void>;
    setJetModeActive(value: CharacteristicValue): Promise<void>;
    setFanState(value: CharacteristicValue): Promise<void>;
    updateAccessoryCharacteristic(device: Device): void;
    setLight(value: CharacteristicValue): Promise<void>;
    setTargetState(value: CharacteristicValue): Promise<void>;
    setActive(value: CharacteristicValue): Promise<void>;
    setTargetTemperature(value: CharacteristicValue): Promise<void>;
    setFanSpeed(value: CharacteristicValue): Promise<void>;
    setSwingMode(value: CharacteristicValue): Promise<void>;
    setOpMode(opMode: any): Promise<void>;
    protected isJetModeEnabled(device: Device): boolean;
    protected createFanService(): void;
    protected createAirQualityService(): void;
    protected createHeaterCoolerService(): void;
    setupButton(device: Device): void;
    protected setupButtonOpmode(device: Device, name: any, opMode: any): void;
}
export declare class ACStatus {
    protected data: any;
    protected device: Device;
    protected config: any;
    constructor(data: any, device: Device, config: any);
    /**
     * detect fahrenheit unit device by country code
     * list: us
     */
    get isFahrenheitUnit(): boolean;
    convertTemperatureCelsiusFromHomekitToLG(temperatureInCelsius: any): any;
    /**
     * algorithm conversion LG vs Homekit is different
     * so we need to handle it before submit to homekit
     */
    convertTemperatureCelsiusFromLGToHomekit(temperatureInCelsius: any): any;
    get opMode(): number;
    get isPowerOn(): boolean;
    get currentRelativeHumidity(): number;
    get currentTemperature(): any;
    get targetTemperature(): any;
    get airQuality(): {
        isOn: any;
        overall: number;
        PM2: number;
        PM10: number;
    } | null;
    get windStrength(): number;
    get isSwingOn(): boolean;
    get isLightOn(): boolean;
    get currentConsumption(): number;
    get type(): string;
}
//# sourceMappingURL=AirConditioner.d.ts.map