import type { OmniObjectBaseArgs } from './OmniObjectBase.js'; import { OmniObjectBase } from './OmniObjectBase.js'; import { OmniTemperature } from './OmniTemperature.js'; import { TemperatureFormats } from './SystemFormats.js'; export declare enum ThermostatTypes { NotUsed = 0, AutoHeatCool = 1, HeatCool = 2, Heat = 3, Cool = 4, SetPoint = 5 } export declare enum ThermostatModes { Off = 0, Heat = 1, Cool = 2, Auto = 3, EmergencyHeat = 4 } export declare enum FanModes { Auto = 0, On = 1, Cycle = 2 } export declare enum HoldStates { Off = 0, Hold = 1, VacationHold = 2, OtherHold = 3 } export declare enum ThermostatStates { Idle = 0, Heating = 1, Cooling = 2, Humidifying = 3, Dehumidifying = 4 } interface ThermostatStatusArgs { communicating: number; temperature: number; heatSetPoint: number; coolSetPoint: number; mode: number; fan: number; hold: number; humidity: number; humidifySetPoint: number; dehumidifySetPoint: number; outdoorTemperature: number; state: number; } interface ThermostatArgs extends OmniObjectBaseArgs, ThermostatStatusArgs { type: number; } export declare class Thermostat extends OmniObjectBase { private readonly _type; private _status; constructor(args: ThermostatArgs, temperatureFormat?: TemperatureFormats); get type(): ThermostatTypes; get status(): ThermostatStatus; set status(value: ThermostatStatus); } export declare class ThermostatStatus { private readonly _communicating; private readonly _temperature; private readonly _heatSetPoint; private readonly _coolSetPoint; private readonly _mode; private readonly _fan; private readonly _hold; private readonly _humidity; private readonly _humidifySetPoint; private readonly _dehumidifySetPoint; private readonly _outdoorTemperature; private readonly _state; constructor(args: ThermostatStatusArgs, temperatureFormat?: TemperatureFormats); equals(status: ThermostatStatus | undefined): boolean; toString(): string; get communicating(): number; get temperature(): OmniTemperature; get heatSetPoint(): OmniTemperature; get coolSetPoint(): OmniTemperature; get mode(): ThermostatModes; get fan(): FanModes; get hold(): HoldStates; get humidity(): OmniTemperature; get humidifySetPoint(): OmniTemperature; get dehumidifySetPoint(): OmniTemperature; get outdoorTemperature(): OmniTemperature; get state(): number; isHeating(): boolean; isCooling(): boolean; } export {}; //# sourceMappingURL=Thermostat.d.ts.map