/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import { SoilMeasurementServer as BaseSoilMeasurementServer } from "../behaviors/soil-measurement/SoilMeasurementServer.js";
import {
  TemperatureMeasurementServer as BaseTemperatureMeasurementServer
} from "../behaviors/temperature-measurement/TemperatureMeasurementServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var SoilSensorRequirements;
((SoilSensorRequirements2) => {
  SoilSensorRequirements2.IdentifyServer = BaseIdentifyServer;
  SoilSensorRequirements2.SoilMeasurementServer = BaseSoilMeasurementServer;
  SoilSensorRequirements2.TemperatureMeasurementServer = BaseTemperatureMeasurementServer;
  SoilSensorRequirements2.server = {
    mandatory: { Identify: SoilSensorRequirements2.IdentifyServer, SoilMeasurement: SoilSensorRequirements2.SoilMeasurementServer },
    optional: { TemperatureMeasurement: SoilSensorRequirements2.TemperatureMeasurementServer }
  };
})(SoilSensorRequirements || (SoilSensorRequirements = {}));
const SoilSensorDeviceDefinition = MutableEndpoint({
  name: "SoilSensor",
  deviceType: 69,
  deviceRevision: 1,
  requirements: SoilSensorRequirements,
  behaviors: SupportedBehaviors(
    SoilSensorRequirements.server.mandatory.Identify,
    SoilSensorRequirements.server.mandatory.SoilMeasurement
  )
});
Object.freeze(SoilSensorDeviceDefinition);
const SoilSensorDevice = SoilSensorDeviceDefinition;
export {
  SoilSensorDevice,
  SoilSensorDeviceDefinition,
  SoilSensorRequirements
};
//# sourceMappingURL=soil-sensor.js.map
