/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import {
  TemperatureMeasurementServer as BaseTemperatureMeasurementServer
} from "../behaviors/temperature-measurement/TemperatureMeasurementServer.js";
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import {
  ThermostatUserInterfaceConfigurationServer as BaseThermostatUserInterfaceConfigurationServer
} from "../behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var TemperatureSensorRequirements;
((TemperatureSensorRequirements2) => {
  TemperatureSensorRequirements2.TemperatureMeasurementServer = BaseTemperatureMeasurementServer;
  TemperatureSensorRequirements2.IdentifyServer = BaseIdentifyServer;
  TemperatureSensorRequirements2.ThermostatUserInterfaceConfigurationServer = BaseThermostatUserInterfaceConfigurationServer;
  TemperatureSensorRequirements2.server = {
    mandatory: { TemperatureMeasurement: TemperatureSensorRequirements2.TemperatureMeasurementServer, Identify: TemperatureSensorRequirements2.IdentifyServer },
    optional: { ThermostatUserInterfaceConfiguration: TemperatureSensorRequirements2.ThermostatUserInterfaceConfigurationServer }
  };
})(TemperatureSensorRequirements || (TemperatureSensorRequirements = {}));
const TemperatureSensorDeviceDefinition = MutableEndpoint({
  name: "TemperatureSensor",
  deviceType: 770,
  deviceRevision: 3,
  requirements: TemperatureSensorRequirements,
  behaviors: SupportedBehaviors(
    TemperatureSensorRequirements.server.mandatory.TemperatureMeasurement,
    TemperatureSensorRequirements.server.mandatory.Identify
  )
});
Object.freeze(TemperatureSensorDeviceDefinition);
const TemperatureSensorDevice = TemperatureSensorDeviceDefinition;
export {
  TemperatureSensorDevice,
  TemperatureSensorDeviceDefinition,
  TemperatureSensorRequirements
};
//# sourceMappingURL=temperature-sensor.js.map
