import { Endpoint, MaybePromise } from 'matterbridge/matter';
import { Thermostat } from 'matterbridge/matter/clusters';
import { ThermostatServer } from 'matterbridge/matter/behaviors';
import type { ClusterType as _ClusterType } from 'matterbridge/matter/types';
declare const ThermostatServerAir_base: import("matterbridge/matter").ClusterBehavior.Type<import("matterbridge/matter/types").ClusterComposer.WithFeatures<_ClusterType.Of<{
    readonly id: 513;
    readonly name: "Thermostat";
    readonly revision: 8;
    readonly features: {
        readonly heating: import("matterbridge/matter/types").BitFlag;
        readonly cooling: import("matterbridge/matter/types").BitFlag;
        readonly occupancy: import("matterbridge/matter/types").BitFlag;
        readonly scheduleConfiguration: import("matterbridge/matter/types").BitFlag;
        readonly setback: import("matterbridge/matter/types").BitFlag;
        readonly autoMode: import("matterbridge/matter/types").BitFlag;
        readonly localTemperatureNotExposed: import("matterbridge/matter/types").BitFlag;
        readonly matterScheduleConfiguration: import("matterbridge/matter/types").BitFlag;
        readonly presets: import("matterbridge/matter/types").BitFlag;
    };
    readonly attributes: {
        readonly localTemperature: import("matterbridge/matter/types").Attribute<number | null, any>;
        readonly outdoorTemperature: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
        readonly hvacSystemTypeConfiguration: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
            coolingStage: import("matterbridge/matter/types").BitField;
            heatingStage: import("matterbridge/matter/types").BitField;
            heatingIsHeatPump: import("matterbridge/matter/types").BitFlag;
            heatingUsesFuel: import("matterbridge/matter/types").BitFlag;
        }>, any>;
        readonly remoteSensing: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
            localTemperature: import("matterbridge/matter/types").BitFlag;
            outdoorTemperature: import("matterbridge/matter/types").BitFlag;
            occupancy: import("matterbridge/matter/types").BitFlag;
        }>, any>;
        readonly controlSequenceOfOperation: import("matterbridge/matter/types").WritableAttribute<Thermostat.ControlSequenceOfOperation, any>;
        readonly systemMode: import("matterbridge/matter/types").WritableAttribute<Thermostat.SystemMode, any>;
        readonly temperatureSetpointHold: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.TemperatureSetpointHold, any>;
        readonly temperatureSetpointHoldDuration: import("matterbridge/matter/types").OptionalWritableAttribute<number | null, any>;
        readonly thermostatProgrammingOperationMode: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
            scheduleActive: import("matterbridge/matter/types").BitFlag;
            autoRecovery: import("matterbridge/matter/types").BitFlag;
            economy: import("matterbridge/matter/types").BitFlag;
        }>, any>;
        readonly thermostatRunningState: import("matterbridge/matter/types").OptionalAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
            heat: import("matterbridge/matter/types").BitFlag;
            cool: import("matterbridge/matter/types").BitFlag;
            fan: import("matterbridge/matter/types").BitFlag;
            heatStage2: import("matterbridge/matter/types").BitFlag;
            coolStage2: import("matterbridge/matter/types").BitFlag;
            fanStage2: import("matterbridge/matter/types").BitFlag;
            fanStage3: import("matterbridge/matter/types").BitFlag;
        }>, any>;
        readonly setpointChangeSource: import("matterbridge/matter/types").OptionalAttribute<Thermostat.SetpointChangeSource, any>;
        readonly setpointChangeAmount: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
        readonly setpointChangeSourceTimestamp: import("matterbridge/matter/types").OptionalAttribute<number, any>;
        readonly emergencyHeatDelta: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
        readonly acType: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcType, any>;
        readonly acCapacity: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
        readonly acRefrigerantType: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcRefrigerantType, any>;
        readonly acCompressorType: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcCompressorType, any>;
        readonly acErrorCode: import("matterbridge/matter/types").OptionalWritableAttribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
            compressorFail: import("matterbridge/matter/types").BitFlag;
            roomSensorFail: import("matterbridge/matter/types").BitFlag;
            outdoorSensorFail: import("matterbridge/matter/types").BitFlag;
            coilSensorFail: import("matterbridge/matter/types").BitFlag;
            fanFail: import("matterbridge/matter/types").BitFlag;
        }>, any>;
        readonly acLouverPosition: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcLouverPosition, any>;
        readonly acCoilTemperature: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
        readonly acCapacityFormat: import("matterbridge/matter/types").OptionalWritableAttribute<Thermostat.AcCapacityFormat, any>;
        readonly setpointHoldExpiryTimestamp: import("matterbridge/matter/types").OptionalAttribute<number | null, any>;
    };
    readonly commands: {
        readonly setpointRaiseLower: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
            mode: import("matterbridge/matter/types").FieldType<Thermostat.SetpointRaiseLowerMode>;
            amount: import("matterbridge/matter/types").FieldType<number>;
        }>, void, any>;
    };
    readonly extensions: readonly [{
        readonly flags: {
            readonly occupancy: true;
        };
        readonly component: {
            readonly attributes: {
                readonly occupancy: import("matterbridge/matter/types").Attribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                    occupied: import("matterbridge/matter/types").BitFlag;
                }>, any>;
            };
        };
    }, {
        readonly flags: {
            readonly heating: true;
        };
        readonly component: {
            readonly attributes: {
                readonly absMinHeatSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
                readonly absMaxHeatSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
                readonly piHeatingDemand: import("matterbridge/matter/types").OptionalAttribute<number, any>;
                readonly occupiedHeatingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
                readonly minHeatSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
                readonly maxHeatSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly cooling: true;
        };
        readonly component: {
            readonly attributes: {
                readonly absMinCoolSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
                readonly absMaxCoolSetpointLimit: import("matterbridge/matter/types").OptionalFixedAttribute<number, any>;
                readonly piCoolingDemand: import("matterbridge/matter/types").OptionalAttribute<number, any>;
                readonly occupiedCoolingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
                readonly minCoolSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
                readonly maxCoolSetpointLimit: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly localTemperatureNotExposed: false;
        };
        readonly component: {
            readonly attributes: {
                readonly localTemperatureCalibration: import("matterbridge/matter/types").OptionalWritableAttribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly cooling: true;
            readonly occupancy: true;
        };
        readonly component: {
            readonly attributes: {
                readonly unoccupiedCoolingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly heating: true;
            readonly occupancy: true;
        };
        readonly component: {
            readonly attributes: {
                readonly unoccupiedHeatingSetpoint: import("matterbridge/matter/types").WritableAttribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly autoMode: true;
        };
        readonly component: {
            readonly attributes: {
                readonly minSetpointDeadBand: import("matterbridge/matter/types").WritableAttribute<number, any>;
                readonly thermostatRunningMode: import("matterbridge/matter/types").OptionalAttribute<Thermostat.ThermostatRunningMode, any>;
            };
        };
    }, {
        readonly flags: {
            readonly scheduleConfiguration: true;
        };
        readonly component: {
            readonly attributes: {
                readonly startOfWeek: import("matterbridge/matter/types").FixedAttribute<Thermostat.StartOfWeek, any>;
                readonly numberOfWeeklyTransitions: import("matterbridge/matter/types").FixedAttribute<number, any>;
                readonly numberOfDailyTransitions: import("matterbridge/matter/types").FixedAttribute<number, any>;
            };
            readonly commands: {
                readonly setWeeklySchedule: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
                    numberOfTransitionsForSequence: import("matterbridge/matter/types").FieldType<number>;
                    dayOfWeekForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        sunday: import("matterbridge/matter/types").BitFlag;
                        monday: import("matterbridge/matter/types").BitFlag;
                        tuesday: import("matterbridge/matter/types").BitFlag;
                        wednesday: import("matterbridge/matter/types").BitFlag;
                        thursday: import("matterbridge/matter/types").BitFlag;
                        friday: import("matterbridge/matter/types").BitFlag;
                        saturday: import("matterbridge/matter/types").BitFlag;
                        away: import("matterbridge/matter/types").BitFlag;
                    }>>;
                    modeForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        heatSetpointPresent: import("matterbridge/matter/types").BitFlag;
                        coolSetpointPresent: import("matterbridge/matter/types").BitFlag;
                    }>>;
                    transitions: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromFields<{
                        transitionTime: import("matterbridge/matter/types").FieldType<number>;
                        heatSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
                        coolSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
                    }>[]>;
                }>, void, any>;
                readonly getWeeklySchedule: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
                    daysToReturn: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        sunday: import("matterbridge/matter/types").BitFlag;
                        monday: import("matterbridge/matter/types").BitFlag;
                        tuesday: import("matterbridge/matter/types").BitFlag;
                        wednesday: import("matterbridge/matter/types").BitFlag;
                        thursday: import("matterbridge/matter/types").BitFlag;
                        friday: import("matterbridge/matter/types").BitFlag;
                        saturday: import("matterbridge/matter/types").BitFlag;
                        away: import("matterbridge/matter/types").BitFlag;
                    }>>;
                    modeToReturn: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        heatSetpointPresent: import("matterbridge/matter/types").BitFlag;
                        coolSetpointPresent: import("matterbridge/matter/types").BitFlag;
                    }>>;
                }>, import("matterbridge/matter/types").TypeFromFields<{
                    numberOfTransitionsForSequence: import("matterbridge/matter/types").FieldType<number>;
                    dayOfWeekForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        sunday: import("matterbridge/matter/types").BitFlag;
                        monday: import("matterbridge/matter/types").BitFlag;
                        tuesday: import("matterbridge/matter/types").BitFlag;
                        wednesday: import("matterbridge/matter/types").BitFlag;
                        thursday: import("matterbridge/matter/types").BitFlag;
                        friday: import("matterbridge/matter/types").BitFlag;
                        saturday: import("matterbridge/matter/types").BitFlag;
                        away: import("matterbridge/matter/types").BitFlag;
                    }>>;
                    modeForSequence: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        heatSetpointPresent: import("matterbridge/matter/types").BitFlag;
                        coolSetpointPresent: import("matterbridge/matter/types").BitFlag;
                    }>>;
                    transitions: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromFields<{
                        transitionTime: import("matterbridge/matter/types").FieldType<number>;
                        heatSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
                        coolSetpoint: import("matterbridge/matter/types").FieldType<number | null>;
                    }>[]>;
                }>, any>;
                readonly clearWeeklySchedule: import("matterbridge/matter/types").Command<void, void, any>;
            };
        };
    }, {
        readonly flags: {
            readonly setback: true;
        };
        readonly component: {
            readonly attributes: {
                readonly occupiedSetback: import("matterbridge/matter/types").WritableAttribute<number | null, any>;
                readonly occupiedSetbackMin: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
                readonly occupiedSetbackMax: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly setback: true;
            readonly occupancy: true;
        };
        readonly component: {
            readonly attributes: {
                readonly unoccupiedSetback: import("matterbridge/matter/types").WritableAttribute<number | null, any>;
                readonly unoccupiedSetbackMin: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
                readonly unoccupiedSetbackMax: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly presets: true;
        };
        readonly component: {
            readonly attributes: {
                readonly presetTypes: import("matterbridge/matter/types").FixedAttribute<import("matterbridge/matter/types").TypeFromFields<{
                    presetScenario: import("matterbridge/matter/types").FieldType<Thermostat.PresetScenario>;
                    numberOfPresets: import("matterbridge/matter/types").FieldType<number>;
                    presetTypeFeatures: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        automatic: import("matterbridge/matter/types").BitFlag;
                        supportsNames: import("matterbridge/matter/types").BitFlag;
                    }>>;
                }>[], any>;
                readonly numberOfPresets: import("matterbridge/matter/types").FixedAttribute<number, any>;
                readonly activePresetHandle: import("matterbridge/matter/types").Attribute<Uint8Array<ArrayBufferLike> | null, any>;
                readonly presets: import("matterbridge/matter/types").WritableAttribute<import("matterbridge/matter/types").TypeFromFields<{
                    presetHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike> | null>;
                    presetScenario: import("matterbridge/matter/types").FieldType<Thermostat.PresetScenario>;
                    name: import("matterbridge/matter/types").OptionalFieldType<string | null>;
                    coolingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
                    heatingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
                    builtIn: import("matterbridge/matter/types").FieldType<boolean | null>;
                }>[], any>;
            };
            readonly commands: {
                readonly setActivePresetRequest: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
                    presetHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike> | null>;
                }>, void, any>;
            };
        };
    }, {
        readonly flags: {
            readonly matterScheduleConfiguration: true;
        };
        readonly component: {
            readonly attributes: {
                readonly scheduleTypes: import("matterbridge/matter/types").FixedAttribute<import("matterbridge/matter/types").TypeFromFields<{
                    systemMode: import("matterbridge/matter/types").FieldType<Thermostat.SystemMode>;
                    numberOfSchedules: import("matterbridge/matter/types").FieldType<number>;
                    scheduleTypeFeatures: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                        supportsPresets: import("matterbridge/matter/types").BitFlag;
                        supportsSetpoints: import("matterbridge/matter/types").BitFlag;
                        supportsNames: import("matterbridge/matter/types").BitFlag;
                        supportsOff: import("matterbridge/matter/types").BitFlag;
                    }>>;
                }>[], any>;
                readonly numberOfSchedules: import("matterbridge/matter/types").FixedAttribute<number, any>;
                readonly numberOfScheduleTransitions: import("matterbridge/matter/types").FixedAttribute<number, any>;
                readonly numberOfScheduleTransitionPerDay: import("matterbridge/matter/types").FixedAttribute<number | null, any>;
                readonly activeScheduleHandle: import("matterbridge/matter/types").Attribute<Uint8Array<ArrayBufferLike> | null, any>;
                readonly schedules: import("matterbridge/matter/types").WritableAttribute<import("matterbridge/matter/types").TypeFromFields<{
                    scheduleHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike> | null>;
                    systemMode: import("matterbridge/matter/types").FieldType<Thermostat.SystemMode>;
                    name: import("matterbridge/matter/types").OptionalFieldType<string>;
                    presetHandle: import("matterbridge/matter/types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
                    transitions: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromFields<{
                        dayOfWeek: import("matterbridge/matter/types").FieldType<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                            sunday: import("matterbridge/matter/types").BitFlag;
                            monday: import("matterbridge/matter/types").BitFlag;
                            tuesday: import("matterbridge/matter/types").BitFlag;
                            wednesday: import("matterbridge/matter/types").BitFlag;
                            thursday: import("matterbridge/matter/types").BitFlag;
                            friday: import("matterbridge/matter/types").BitFlag;
                            saturday: import("matterbridge/matter/types").BitFlag;
                            away: import("matterbridge/matter/types").BitFlag;
                        }>>;
                        transitionTime: import("matterbridge/matter/types").FieldType<number>;
                        presetHandle: import("matterbridge/matter/types").OptionalFieldType<Uint8Array<ArrayBufferLike>>;
                        systemMode: import("matterbridge/matter/types").OptionalFieldType<Thermostat.SystemMode>;
                        coolingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
                        heatingSetpoint: import("matterbridge/matter/types").OptionalFieldType<number>;
                    }>[]>;
                    builtIn: import("matterbridge/matter/types").FieldType<boolean | null>;
                }>[], any>;
            };
            readonly commands: {
                readonly setActiveScheduleRequest: import("matterbridge/matter/types").Command<import("matterbridge/matter/types").TypeFromFields<{
                    scheduleHandle: import("matterbridge/matter/types").FieldType<Uint8Array<ArrayBufferLike>>;
                }>, void, any>;
            };
        };
    }, {
        readonly flags: {
            readonly autoMode: true;
            readonly heating: false;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly autoMode: true;
            readonly cooling: false;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly heating: false;
            readonly cooling: false;
        };
        readonly component: false;
    }];
}>, readonly [Thermostat.Feature.Heating]>, typeof ThermostatServer, import("matterbridge/matter/behaviors").ThermostatInterface>;
export declare class ThermostatServerAir extends ThermostatServerAir_base {
    setpointRaiseLower(request: Thermostat.SetpointRaiseLowerRequest): MaybePromise;
}
export declare function createThermostatClusterServer({ behaviors }: Endpoint): void;
export {};
//# sourceMappingURL=endpoint-air-thermostat.d.ts.map