"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var room_air_conditioner_exports = {};
__export(room_air_conditioner_exports, {
  RoomAirConditionerDevice: () => RoomAirConditionerDevice,
  RoomAirConditionerDeviceDefinition: () => RoomAirConditionerDeviceDefinition,
  RoomAirConditionerRequirements: () => RoomAirConditionerRequirements
});
module.exports = __toCommonJS(room_air_conditioner_exports);
var import_IdentifyServer = require("../behaviors/identify/IdentifyServer.js");
var import_OnOffServer = require("../behaviors/on-off/OnOffServer.js");
var import_ThermostatServer = require("../behaviors/thermostat/ThermostatServer.js");
var import_GroupsServer = require("../behaviors/groups/GroupsServer.js");
var import_ScenesManagementServer = require("../behaviors/scenes-management/ScenesManagementServer.js");
var import_HepaFilterMonitoringServer = require("../behaviors/hepa-filter-monitoring/HepaFilterMonitoringServer.js");
var import_ActivatedCarbonFilterMonitoringServer = require("../behaviors/activated-carbon-filter-monitoring/ActivatedCarbonFilterMonitoringServer.js");
var import_FanControlServer = require("../behaviors/fan-control/FanControlServer.js");
var import_ThermostatUserInterfaceConfigurationServer = require("../behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js");
var import_TemperatureMeasurementServer = require("../behaviors/temperature-measurement/TemperatureMeasurementServer.js");
var import_RelativeHumidityMeasurementServer = require("../behaviors/relative-humidity-measurement/RelativeHumidityMeasurementServer.js");
var import_MutableEndpoint = require("../endpoint/type/MutableEndpoint.js");
var import_SupportedBehaviors = require("../endpoint/properties/SupportedBehaviors.js");
/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
var RoomAirConditionerRequirements;
((RoomAirConditionerRequirements2) => {
  RoomAirConditionerRequirements2.IdentifyServer = import_IdentifyServer.IdentifyServer;
  RoomAirConditionerRequirements2.OnOffServer = import_OnOffServer.OnOffServer.with("DeadFrontBehavior");
  RoomAirConditionerRequirements2.ThermostatServer = import_ThermostatServer.ThermostatServer;
  RoomAirConditionerRequirements2.GroupsServer = import_GroupsServer.GroupsServer;
  RoomAirConditionerRequirements2.ScenesManagementServer = import_ScenesManagementServer.ScenesManagementServer;
  RoomAirConditionerRequirements2.HepaFilterMonitoringServer = import_HepaFilterMonitoringServer.HepaFilterMonitoringServer;
  RoomAirConditionerRequirements2.ActivatedCarbonFilterMonitoringServer = import_ActivatedCarbonFilterMonitoringServer.ActivatedCarbonFilterMonitoringServer;
  RoomAirConditionerRequirements2.FanControlServer = import_FanControlServer.FanControlServer;
  RoomAirConditionerRequirements2.ThermostatUserInterfaceConfigurationServer = import_ThermostatUserInterfaceConfigurationServer.ThermostatUserInterfaceConfigurationServer;
  RoomAirConditionerRequirements2.TemperatureMeasurementServer = import_TemperatureMeasurementServer.TemperatureMeasurementServer;
  RoomAirConditionerRequirements2.RelativeHumidityMeasurementServer = import_RelativeHumidityMeasurementServer.RelativeHumidityMeasurementServer;
  RoomAirConditionerRequirements2.server = {
    mandatory: { Identify: RoomAirConditionerRequirements2.IdentifyServer, OnOff: RoomAirConditionerRequirements2.OnOffServer, Thermostat: RoomAirConditionerRequirements2.ThermostatServer },
    optional: {
      Groups: RoomAirConditionerRequirements2.GroupsServer,
      ScenesManagement: RoomAirConditionerRequirements2.ScenesManagementServer,
      HepaFilterMonitoring: RoomAirConditionerRequirements2.HepaFilterMonitoringServer,
      ActivatedCarbonFilterMonitoring: RoomAirConditionerRequirements2.ActivatedCarbonFilterMonitoringServer,
      FanControl: RoomAirConditionerRequirements2.FanControlServer,
      ThermostatUserInterfaceConfiguration: RoomAirConditionerRequirements2.ThermostatUserInterfaceConfigurationServer,
      TemperatureMeasurement: RoomAirConditionerRequirements2.TemperatureMeasurementServer,
      RelativeHumidityMeasurement: RoomAirConditionerRequirements2.RelativeHumidityMeasurementServer
    }
  };
})(RoomAirConditionerRequirements || (RoomAirConditionerRequirements = {}));
const RoomAirConditionerDeviceDefinition = (0, import_MutableEndpoint.MutableEndpoint)({
  name: "RoomAirConditioner",
  deviceType: 114,
  deviceRevision: 4,
  requirements: RoomAirConditionerRequirements,
  behaviors: (0, import_SupportedBehaviors.SupportedBehaviors)(
    RoomAirConditionerRequirements.server.mandatory.Identify,
    RoomAirConditionerRequirements.server.mandatory.OnOff
  )
});
Object.freeze(RoomAirConditionerDeviceDefinition);
const RoomAirConditionerDevice = RoomAirConditionerDeviceDefinition;
//# sourceMappingURL=room-air-conditioner.js.map
