import { DysonDevice, DysonDeviceConstructorParams } from './dyson-device-base.js';
import { DysonMqttAir, DysonMqttProductState, DysonMqttStatusAir } from './dyson-mqtt-air.js';
import { EntityName } from './config-types.js';
import { DysonMqttStatus } from './dyson-mqtt.js';
import { EndpointsAir, EndpointOptionsAirSensors, UpdateAirFilterMonitoring, UpdateAirFan } from './endpoint-air.js';
import { EndpointBase } from './endpoint-base.js';
export declare abstract class DysonDeviceAirBase extends DysonDevice<DysonMqttAir> {
    static readonly mqttConstructor: typeof DysonMqttAir;
    mqttListener: () => void;
    endpoints?: EndpointsAir;
    hasBreeze: boolean;
    hasHepaFilter: boolean;
    hasCarbonFilter: boolean;
    hasDirection: boolean;
    hasLeftRight: boolean;
    hasUpDown: boolean;
    useFanModeOff: boolean;
    constructor(...args: DysonDeviceConstructorParams<DysonMqttAir>);
    makeEndpoints(validatedNames: EntityName[]): EndpointsAir;
    installHandlers(endpoints: EndpointsAir): Promise<void>;
    get sensorSupport(): EndpointOptionsAirSensors;
    getEntities(): {
        name: EntityName;
        description: string;
    }[];
    getEndpoints(validatedNames: EntityName[]): EndpointBase[];
    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: DysonMqttProductState): Promise<void>;
    updateClusterAttributes(status: DysonMqttStatus<DysonMqttStatusAir>): Promise<void>;
    mapDysonFanControlStatus(status: DysonMqttStatus<DysonMqttStatusAir>): UpdateAirFan;
    mapDysonFilterStatus(status: DysonMqttStatus<DysonMqttStatusAir>): UpdateAirFilterMonitoring;
}
//# sourceMappingURL=dyson-device-air-base.d.ts.map