/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { EnergyEvseServer as BaseEnergyEvseServer } from "../behaviors/energy-evse/EnergyEvseServer.js";
import { EnergyEvseModeServer as BaseEnergyEvseModeServer } from "../behaviors/energy-evse-mode/EnergyEvseModeServer.js";
import { IdentifyServer as BaseIdentifyServer } from "../behaviors/identify/IdentifyServer.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 EnergyEvseRequirements;
((EnergyEvseRequirements2) => {
  EnergyEvseRequirements2.EnergyEvseServer = BaseEnergyEvseServer;
  EnergyEvseRequirements2.EnergyEvseModeServer = BaseEnergyEvseModeServer;
  EnergyEvseRequirements2.IdentifyServer = BaseIdentifyServer;
  EnergyEvseRequirements2.TemperatureMeasurementServer = BaseTemperatureMeasurementServer;
  EnergyEvseRequirements2.server = {
    mandatory: { EnergyEvse: EnergyEvseRequirements2.EnergyEvseServer, EnergyEvseMode: EnergyEvseRequirements2.EnergyEvseModeServer },
    optional: { Identify: EnergyEvseRequirements2.IdentifyServer, TemperatureMeasurement: EnergyEvseRequirements2.TemperatureMeasurementServer }
  };
})(EnergyEvseRequirements || (EnergyEvseRequirements = {}));
const EnergyEvseDeviceDefinition = MutableEndpoint({
  name: "EnergyEvse",
  deviceType: 1292,
  deviceRevision: 2,
  requirements: EnergyEvseRequirements,
  behaviors: SupportedBehaviors(
    EnergyEvseRequirements.server.mandatory.EnergyEvse,
    EnergyEvseRequirements.server.mandatory.EnergyEvseMode
  )
});
Object.freeze(EnergyEvseDeviceDefinition);
const EnergyEvseDevice = EnergyEvseDeviceDefinition;
export {
  EnergyEvseDevice,
  EnergyEvseDeviceDefinition,
  EnergyEvseRequirements
};
//# sourceMappingURL=energy-evse.js.map
