/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { OnOffServer as BaseOnOffServer } from "../behaviors/on-off/OnOffServer.js";
import { LevelControlServer as BaseLevelControlServer } from "../behaviors/level-control/LevelControlServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var SpeakerRequirements;
((SpeakerRequirements2) => {
  SpeakerRequirements2.OnOffServer = BaseOnOffServer;
  SpeakerRequirements2.LevelControlServer = BaseLevelControlServer;
  SpeakerRequirements2.server = { mandatory: { OnOff: SpeakerRequirements2.OnOffServer, LevelControl: SpeakerRequirements2.LevelControlServer } };
})(SpeakerRequirements || (SpeakerRequirements = {}));
const SpeakerDeviceDefinition = MutableEndpoint({
  name: "Speaker",
  deviceType: 34,
  deviceRevision: 1,
  requirements: SpeakerRequirements,
  behaviors: SupportedBehaviors(
    SpeakerRequirements.server.mandatory.OnOff,
    SpeakerRequirements.server.mandatory.LevelControl
  )
});
Object.freeze(SpeakerDeviceDefinition);
const SpeakerDevice = SpeakerDeviceDefinition;
export {
  SpeakerDevice,
  SpeakerDeviceDefinition,
  SpeakerRequirements
};
//# sourceMappingURL=speaker.js.map
