import { Service, PlatformAccessory } from 'homebridge';
import { IHeaterConfigStatus } from '../configStatus';
import { HeaterDevice } from '../devices/heaterDevice';
import { ConnectMyPoolHomeAutomationHomebridgePlatform } from '../platform';
import { PoolStatus } from '../status';
import { Accessory } from './accessory';
/**
 * Heater 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 extends Accessory {
    readonly platform: ConnectMyPoolHomeAutomationHomebridgePlatform;
    readonly accessory: PlatformAccessory;
    private stateCurrentHeatingCooling;
    private stateTargetHeatingCooling;
    private currentTemperature;
    private currentTargetTemperature;
    private stateSpaOn;
    private statePoolTemperatureName;
    private heaterConfigStatus;
    constructor(platform: ConnectMyPoolHomeAutomationHomebridgePlatform, accessory: PlatformAccessory, device: HeaterDevice, status: PoolStatus);
    protected setUpServices(): void;
    protected createHeaterService(): Service;
    protected createPoolSpaService(): Service;
    protected createPoolTemperatureService(): Service;
    protected getHeaterConfigStatus(status: PoolStatus): IHeaterConfigStatus;
    setConfigStatus(status: PoolStatus): void;
    updateStatus(status: PoolStatus): Promise<void>;
    getSpaOnState(): boolean;
    setSpaOnState(value: any): void;
    getCurrentTemperature(): number;
    getTargetTemperature(): number;
    setTargetTemperature(value: any): void;
    getCurrentHeatingCoolingState(): number;
    getTargetHeatingCoolingState(): number;
    setTargetHeatingCoolingState(value: any): void;
    getPoolTemperatureName(): string;
}
//# sourceMappingURL=heaterAccessory.d.ts.map