import { EcoFlowAccessoryBase } from '@ecoflow/accessories/ecoFlowAccessoryBase';
import { FridgeStateType, TemperatureDisplayUnitsType } from '@ecoflow/characteristics/characteristicContracts';
import { ServiceBase } from '@ecoflow/services/serviceBase';
import { Characteristic } from 'homebridge';
export declare abstract class ThermostatFridgeServiceBase extends ServiceBase {
    private readonly minTemperature;
    private readonly maxTemperature;
    private currentTemperature;
    private targetTemperature;
    private currentHeatingCoolingStateType;
    private targetHeatingCoolingStateType;
    private targetFridgeState;
    private temperatureDisplayUnits;
    constructor(ecoFlowAccessory: EcoFlowAccessoryBase, minTemperature: number, maxTemperature: number, serviceSubType: string);
    updateCurrentTemperature(value: number): void;
    updateTargetTemperature(value: number): void;
    updateCurrentState(value: FridgeStateType): void;
    updateTargetState(value: FridgeStateType): void;
    updateTemperatureDisplayUnits(value: TemperatureDisplayUnitsType): void;
    protected addCharacteristics(): Characteristic[];
    protected abstract processOnSetTargetTemperature(value: number, revert: () => void): Promise<void>;
    protected abstract processOnSetTargetState(value: FridgeStateType, revert: () => void): Promise<void>;
    protected abstract processOnSetTemperatureDisplayUnits(value: TemperatureDisplayUnitsType, revert: () => void): Promise<void>;
    private addCurrentTemperatureCharacteristic;
    private addTargetTemperatureCharacteristic;
    private addCurrentHeatingCoolingStateCharacteristic;
    private addTargetHeatingCoolingStateCharacteristic;
    private addTemperatureDisplayUnitsCharacteristic;
}
