/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { KeypadInputServer as BaseKeypadInputServer } from "../behaviors/keypad-input/KeypadInputServer.js";
import {
  ApplicationLauncherServer as BaseApplicationLauncherServer
} from "../behaviors/application-launcher/ApplicationLauncherServer.js";
import {
  ApplicationBasicServer as BaseApplicationBasicServer
} from "../behaviors/application-basic/ApplicationBasicServer.js";
import { BindingServer as BaseBindingServer } from "../behaviors/binding/BindingServer.js";
import { ChannelServer as BaseChannelServer } from "../behaviors/channel/ChannelServer.js";
import { TargetNavigatorServer as BaseTargetNavigatorServer } from "../behaviors/target-navigator/TargetNavigatorServer.js";
import { MediaPlaybackServer as BaseMediaPlaybackServer } from "../behaviors/media-playback/MediaPlaybackServer.js";
import { ContentLauncherServer as BaseContentLauncherServer } from "../behaviors/content-launcher/ContentLauncherServer.js";
import { AccountLoginServer as BaseAccountLoginServer } from "../behaviors/account-login/AccountLoginServer.js";
import {
  ContentAppObserverBehavior as BaseContentAppObserverBehavior
} from "../behaviors/content-app-observer/ContentAppObserverBehavior.js";
import { MutableEndpoint } from "../endpoint/type/MutableEndpoint.js";
import { SupportedBehaviors } from "../endpoint/properties/SupportedBehaviors.js";
var ContentAppRequirements;
((ContentAppRequirements2) => {
  ContentAppRequirements2.KeypadInputServer = BaseKeypadInputServer;
  ContentAppRequirements2.ApplicationLauncherServer = BaseApplicationLauncherServer;
  ContentAppRequirements2.ApplicationBasicServer = BaseApplicationBasicServer;
  ContentAppRequirements2.BindingServer = BaseBindingServer;
  ContentAppRequirements2.ChannelServer = BaseChannelServer;
  ContentAppRequirements2.TargetNavigatorServer = BaseTargetNavigatorServer;
  ContentAppRequirements2.MediaPlaybackServer = BaseMediaPlaybackServer;
  ContentAppRequirements2.ContentLauncherServer = BaseContentLauncherServer;
  ContentAppRequirements2.AccountLoginServer = BaseAccountLoginServer;
  ContentAppRequirements2.ContentAppObserverBehavior = BaseContentAppObserverBehavior;
  ContentAppRequirements2.server = {
    mandatory: {
      KeypadInput: ContentAppRequirements2.KeypadInputServer,
      ApplicationLauncher: ContentAppRequirements2.ApplicationLauncherServer,
      ApplicationBasic: ContentAppRequirements2.ApplicationBasicServer
    },
    optional: {
      Binding: ContentAppRequirements2.BindingServer,
      Channel: ContentAppRequirements2.ChannelServer,
      TargetNavigator: ContentAppRequirements2.TargetNavigatorServer,
      MediaPlayback: ContentAppRequirements2.MediaPlaybackServer,
      ContentLauncher: ContentAppRequirements2.ContentLauncherServer,
      AccountLogin: ContentAppRequirements2.AccountLoginServer
    }
  };
  ContentAppRequirements2.client = { optional: { ContentAppObserver: ContentAppRequirements2.ContentAppObserverBehavior }, mandatory: {} };
})(ContentAppRequirements || (ContentAppRequirements = {}));
const ContentAppDeviceDefinition = MutableEndpoint({
  name: "ContentApp",
  deviceType: 36,
  deviceRevision: 2,
  requirements: ContentAppRequirements,
  behaviors: SupportedBehaviors(
    ContentAppRequirements.server.mandatory.KeypadInput,
    ContentAppRequirements.server.mandatory.ApplicationLauncher,
    ContentAppRequirements.server.mandatory.ApplicationBasic
  )
});
Object.freeze(ContentAppDeviceDefinition);
const ContentAppDevice = ContentAppDeviceDefinition;
export {
  ContentAppDevice,
  ContentAppDeviceDefinition,
  ContentAppRequirements
};
//# sourceMappingURL=content-app.js.map
