/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.js";
import {
  IlluminanceMeasurementServer as BaseIlluminanceMeasurementServer
} from "../behaviors/illuminance-measurement/IlluminanceMeasurementServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var LightSensorRequirements;
((LightSensorRequirements2) => {
  LightSensorRequirements2.IdentifyServer = BaseIdentifyServer;
  LightSensorRequirements2.IlluminanceMeasurementServer = BaseIlluminanceMeasurementServer;
  LightSensorRequirements2.server = { mandatory: { Identify: LightSensorRequirements2.IdentifyServer, IlluminanceMeasurement: LightSensorRequirements2.IlluminanceMeasurementServer } };
})(LightSensorRequirements || (LightSensorRequirements = {}));
const LightSensorDeviceDefinition = MutableEndpoint({
  name: "LightSensor",
  deviceType: 262,
  deviceRevision: 3,
  requirements: LightSensorRequirements,
  behaviors: SupportedBehaviors(
    LightSensorRequirements.server.mandatory.Identify,
    LightSensorRequirements.server.mandatory.IlluminanceMeasurement
  )
});
Object.freeze(LightSensorDeviceDefinition);
const LightSensorDevice = LightSensorDeviceDefinition;
export {
  LightSensorDevice,
  LightSensorDeviceDefinition,
  LightSensorRequirements
};
//# sourceMappingURL=light-sensor.js.map
