/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { PowerTopologyServer as BasePowerTopologyServer } from "../behaviors/power-topology/PowerTopologyServer.js";
import {
  ElectricalPowerMeasurementServer as BaseElectricalPowerMeasurementServer
} from "../behaviors/electrical-power-measurement/ElectricalPowerMeasurementServer.js";
import {
  ElectricalEnergyMeasurementServer as BaseElectricalEnergyMeasurementServer
} from "../behaviors/electrical-energy-measurement/ElectricalEnergyMeasurementServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { DeviceClassification } from "#model";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var ElectricalSensorRequirements;
((ElectricalSensorRequirements2) => {
  ElectricalSensorRequirements2.PowerTopologyServer = BasePowerTopologyServer;
  ElectricalSensorRequirements2.ElectricalPowerMeasurementServer = BaseElectricalPowerMeasurementServer;
  ElectricalSensorRequirements2.ElectricalEnergyMeasurementServer = BaseElectricalEnergyMeasurementServer;
  ElectricalSensorRequirements2.server = {
    mandatory: { PowerTopology: ElectricalSensorRequirements2.PowerTopologyServer },
    optional: {
      ElectricalPowerMeasurement: ElectricalSensorRequirements2.ElectricalPowerMeasurementServer,
      ElectricalEnergyMeasurement: ElectricalSensorRequirements2.ElectricalEnergyMeasurementServer
    }
  };
})(ElectricalSensorRequirements || (ElectricalSensorRequirements = {}));
const ElectricalSensorEndpointDefinition = MutableEndpoint({
  name: "ElectricalSensor",
  deviceType: 1296,
  deviceRevision: 1,
  deviceClass: DeviceClassification.Utility,
  requirements: ElectricalSensorRequirements,
  behaviors: SupportedBehaviors()
});
Object.freeze(ElectricalSensorEndpointDefinition);
const ElectricalSensorEndpoint = ElectricalSensorEndpointDefinition;
export {
  ElectricalSensorEndpoint,
  ElectricalSensorEndpointDefinition,
  ElectricalSensorRequirements
};
//# sourceMappingURL=electrical-sensor.js.map
