import { CharacteristicValue, Nullable, PlatformAccessory } from 'homebridge';
import { PentairPlatform } from './platform';
import { Body, Heater } from './types';
/**
 * Platform Accessory
 * An instance of this class is created for each accessory your platform registers
 * Each accessory may expose multiple services of different service types.
 */
export declare class HeaterAccessory {
    private readonly platform;
    private readonly accessory;
    private service;
    heater: Heater;
    private body;
    private readonly isFahrenheit;
    private readonly minValue;
    private readonly maxValue;
    private temperature;
    private lowTemperature;
    private highTemperature;
    constructor(platform: PentairPlatform, accessory: PlatformAccessory);
    bindThermostat(): void;
    getMode(): CharacteristicValue;
    setMode(value: CharacteristicValue): Promise<void>;
    bindStaticValues(): void;
    getCurrentHeatingCoolingState(): CharacteristicValue;
    private checkHeatModeState;
    private checkHeatSourceState;
    private getStateFromHeatMode;
    private checkTemperatureState;
    setTargetTemperature(value: CharacteristicValue): Promise<void>;
    getCurrentTemperature(): Promise<Nullable<CharacteristicValue>>;
    getTargetTemperature(): Promise<Nullable<CharacteristicValue>>;
    setCoolingThresholdTemperature(value: CharacteristicValue): Promise<void>;
    getCoolingThresholdTemperature(): Promise<Nullable<CharacteristicValue>>;
    setHeatingThresholdTemperature(value: CharacteristicValue): Promise<void>;
    getHeatingThresholdTemperature(): Promise<Nullable<CharacteristicValue>>;
    updateTemperatureRanges(body: Body): void;
    private updateCharacteristicProps;
}
//# sourceMappingURL=heaterAccessory.d.ts.map