/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import {
  DeviceEnergyManagementServer as BaseDeviceEnergyManagementServer
} from "../behaviors/device-energy-management/DeviceEnergyManagementServer.js";
import {
  DeviceEnergyManagementModeServer as BaseDeviceEnergyManagementModeServer
} from "../behaviors/device-energy-management-mode/DeviceEnergyManagementModeServer.js";
import {
  ElectricalGridConditionsClient as BaseElectricalGridConditionsClient
} from "../behaviors/electrical-grid-conditions/ElectricalGridConditionsClient.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { DeviceClassification } from "@matter/model";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var DeviceEnergyManagementRequirements;
((DeviceEnergyManagementRequirements2) => {
  DeviceEnergyManagementRequirements2.DeviceEnergyManagementServer = BaseDeviceEnergyManagementServer;
  DeviceEnergyManagementRequirements2.DeviceEnergyManagementModeServer = BaseDeviceEnergyManagementModeServer;
  DeviceEnergyManagementRequirements2.ElectricalGridConditionsClient = BaseElectricalGridConditionsClient;
  DeviceEnergyManagementRequirements2.server = {
    mandatory: { DeviceEnergyManagement: DeviceEnergyManagementRequirements2.DeviceEnergyManagementServer },
    optional: { DeviceEnergyManagementMode: DeviceEnergyManagementRequirements2.DeviceEnergyManagementModeServer }
  };
  DeviceEnergyManagementRequirements2.client = { optional: { ElectricalGridConditions: DeviceEnergyManagementRequirements2.ElectricalGridConditionsClient }, mandatory: {} };
})(DeviceEnergyManagementRequirements || (DeviceEnergyManagementRequirements = {}));
const DeviceEnergyManagementEndpointDefinition = MutableEndpoint({
  name: "DeviceEnergyManagement",
  deviceType: 1293,
  deviceRevision: 3,
  deviceClass: DeviceClassification.Utility,
  requirements: DeviceEnergyManagementRequirements,
  behaviors: SupportedBehaviors()
});
Object.freeze(DeviceEnergyManagementEndpointDefinition);
const DeviceEnergyManagementEndpoint = DeviceEnergyManagementEndpointDefinition;
export {
  DeviceEnergyManagementEndpoint,
  DeviceEnergyManagementEndpointDefinition,
  DeviceEnergyManagementRequirements
};
//# sourceMappingURL=device-energy-management.js.map
