import { EntityName } from './config-types.js';
import { DysonDeviceAirBase } from './dyson-device-air-base.js';
import { DysonMqttStatusAir } from './dyson-mqtt-air.js';
import { DysonMqttStatus } from './dyson-mqtt.js';
import { EndpointsAir } from './endpoint-air.js';
import { AbstractConstructor } from './utils.js';
export declare function DysonDeviceAirWithHeat<TBase extends AbstractConstructor<DysonDeviceAirBase>>(Base: TBase): (abstract new (...args: any[]) => {
    installHandlers(endpoints: EndpointsAir): Promise<void>;
    setTargetTemperature(celsius: number): Promise<void>;
    setHeating(heat: boolean): Promise<void>;
    getEntities(): {
        name: EntityName;
        description: string;
    }[];
    updateClusterAttributes(status: DysonMqttStatus<DysonMqttStatusAir>): Promise<void>;
    mqttListener: () => void;
    endpoints?: EndpointsAir;
    hasBreeze: boolean;
    hasCarbonFilter: boolean;
    hasDirection: boolean;
    hasLeftRight: boolean;
    hasUpDown: boolean;
    useFanModeOff: boolean;
    makeEndpoints(validatedNames: EntityName[]): EndpointsAir;
    readonly sensorSupport: import("./endpoint-air.js").EndpointOptionsAirSensors;
    getEndpoints(validatedNames: EntityName[]): import("matterbridge").MatterbridgeEndpoint[];
    start(): Promise<void>;
    stop(): Promise<void>;
    setPower(powerOn: boolean): Promise<void>;
    setFanAuto(): Promise<void>;
    setDirection(forward: boolean): Promise<void>;
    setFanSpeed(speed: number): Promise<void>;
    setNightMode(night: boolean): Promise<void>;
    setOscillateLeftRight(oscillate: boolean): Promise<void>;
    setOscillateUpDown(oscillate: boolean): Promise<void>;
    setOscillateBreeze(breeze: boolean): Promise<void>;
    setState(productState: import("./dyson-mqtt-air.js").DysonMqttProductState): Promise<void>;
    mapDysonFanControlStatus(status: DysonMqttStatus<DysonMqttStatusAir>): import("./endpoint-air.js").UpdateAirFan;
    mapDysonFilterStatus(status: DysonMqttStatus<DysonMqttStatusAir>): import("./endpoint-air.js").UpdateAirFilterMonitoring;
    changed: import("./decorator-changed.js").Changed;
    readonly log: import("matterbridge/logger").AnsiLogger;
    readonly config: import("./config-types.js").Config;
    readonly device: import("./dyson-mqtt-client.js").DeviceConfigMqtt;
    readonly mqtt: import("./dyson-mqtt-air.js").DysonMqttAir;
    readonly uniqueId: string;
    readonly classStatic: typeof import("./dyson-device-base.js").DysonDevice;
    readonly modelName: string;
    readonly modelNumber: string;
    readonly deviceName: string;
    readonly serialNumber: string;
}) & TBase;
//# sourceMappingURL=dyson-device-air-heat.d.ts.map