/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { OnOffServer as BaseOnOffServer } from "../behaviors/on-off/OnOffServer.js";
import { MediaPlaybackServer as BaseMediaPlaybackServer } from "../behaviors/media-playback/MediaPlaybackServer.js";
import { KeypadInputServer as BaseKeypadInputServer } from "../behaviors/keypad-input/KeypadInputServer.js";
import { WakeOnLanServer as BaseWakeOnLanServer } from "../behaviors/wake-on-lan/WakeOnLanServer.js";
import { ChannelServer as BaseChannelServer } from "../behaviors/channel/ChannelServer.js";
import { TargetNavigatorServer as BaseTargetNavigatorServer } from "../behaviors/target-navigator/TargetNavigatorServer.js";
import { MediaInputServer as BaseMediaInputServer } from "../behaviors/media-input/MediaInputServer.js";
import { LowPowerServer as BaseLowPowerServer } from "../behaviors/low-power/LowPowerServer.js";
import { AudioOutputServer as BaseAudioOutputServer } from "../behaviors/audio-output/AudioOutputServer.js";
import { ContentControlServer as BaseContentControlServer } from "../behaviors/content-control/ContentControlServer.js";
import { MessagesServer as BaseMessagesServer } from "../behaviors/messages/MessagesServer.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var BasicVideoPlayerRequirements;
((BasicVideoPlayerRequirements2) => {
  BasicVideoPlayerRequirements2.OnOffServer = BaseOnOffServer;
  BasicVideoPlayerRequirements2.MediaPlaybackServer = BaseMediaPlaybackServer;
  BasicVideoPlayerRequirements2.KeypadInputServer = BaseKeypadInputServer;
  BasicVideoPlayerRequirements2.WakeOnLanServer = BaseWakeOnLanServer;
  BasicVideoPlayerRequirements2.ChannelServer = BaseChannelServer;
  BasicVideoPlayerRequirements2.TargetNavigatorServer = BaseTargetNavigatorServer;
  BasicVideoPlayerRequirements2.MediaInputServer = BaseMediaInputServer;
  BasicVideoPlayerRequirements2.LowPowerServer = BaseLowPowerServer;
  BasicVideoPlayerRequirements2.AudioOutputServer = BaseAudioOutputServer;
  BasicVideoPlayerRequirements2.ContentControlServer = BaseContentControlServer;
  BasicVideoPlayerRequirements2.MessagesServer = BaseMessagesServer;
  BasicVideoPlayerRequirements2.server = {
    mandatory: { OnOff: BasicVideoPlayerRequirements2.OnOffServer, MediaPlayback: BasicVideoPlayerRequirements2.MediaPlaybackServer, KeypadInput: BasicVideoPlayerRequirements2.KeypadInputServer },
    optional: {
      WakeOnLan: BasicVideoPlayerRequirements2.WakeOnLanServer,
      Channel: BasicVideoPlayerRequirements2.ChannelServer,
      TargetNavigator: BasicVideoPlayerRequirements2.TargetNavigatorServer,
      MediaInput: BasicVideoPlayerRequirements2.MediaInputServer,
      LowPower: BasicVideoPlayerRequirements2.LowPowerServer,
      AudioOutput: BasicVideoPlayerRequirements2.AudioOutputServer,
      ContentControl: BasicVideoPlayerRequirements2.ContentControlServer,
      Messages: BasicVideoPlayerRequirements2.MessagesServer
    }
  };
})(BasicVideoPlayerRequirements || (BasicVideoPlayerRequirements = {}));
const BasicVideoPlayerDeviceDefinition = MutableEndpoint({
  name: "BasicVideoPlayer",
  deviceType: 40,
  deviceRevision: 2,
  requirements: BasicVideoPlayerRequirements,
  behaviors: SupportedBehaviors(
    BasicVideoPlayerRequirements.server.mandatory.OnOff,
    BasicVideoPlayerRequirements.server.mandatory.MediaPlayback,
    BasicVideoPlayerRequirements.server.mandatory.KeypadInput
  )
});
Object.freeze(BasicVideoPlayerDeviceDefinition);
const BasicVideoPlayerDevice = BasicVideoPlayerDeviceDefinition;
export {
  BasicVideoPlayerDevice,
  BasicVideoPlayerDeviceDefinition,
  BasicVideoPlayerRequirements
};
//# sourceMappingURL=basic-video-player.js.map
