"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var root_exports = {};
__export(root_exports, {
  RootEndpoint: () => RootEndpoint,
  RootEndpointDefinition: () => RootEndpointDefinition,
  RootRequirements: () => RootRequirements
});
module.exports = __toCommonJS(root_exports);
var import_PartsBehavior = require("../behavior/system/parts/PartsBehavior.js");
var import_IndexBehavior = require("../behavior/system/index/IndexBehavior.js");
var import_AccessControlServer = require("../behaviors/access-control/AccessControlServer.js");
var import_BasicInformationServer = require("../behaviors/basic-information/BasicInformationServer.js");
var import_GeneralCommissioningServer = require("../behaviors/general-commissioning/GeneralCommissioningServer.js");
var import_GeneralDiagnosticsServer = require("../behaviors/general-diagnostics/GeneralDiagnosticsServer.js");
var import_AdministratorCommissioningServer = require("../behaviors/administrator-commissioning/AdministratorCommissioningServer.js");
var import_OperationalCredentialsServer = require("../behaviors/operational-credentials/OperationalCredentialsServer.js");
var import_GroupKeyManagementServer = require("../behaviors/group-key-management/GroupKeyManagementServer.js");
var import_LocalizationConfigurationServer = require("../behaviors/localization-configuration/LocalizationConfigurationServer.js");
var import_TimeFormatLocalizationServer = require("../behaviors/time-format-localization/TimeFormatLocalizationServer.js");
var import_UnitLocalizationServer = require("../behaviors/unit-localization/UnitLocalizationServer.js");
var import_PowerSourceConfigurationServer = require("../behaviors/power-source-configuration/PowerSourceConfigurationServer.js");
var import_NetworkCommissioningServer = require("../behaviors/network-commissioning/NetworkCommissioningServer.js");
var import_DiagnosticLogsServer = require("../behaviors/diagnostic-logs/DiagnosticLogsServer.js");
var import_SoftwareDiagnosticsServer = require("../behaviors/software-diagnostics/SoftwareDiagnosticsServer.js");
var import_ThreadNetworkDiagnosticsServer = require("../behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsServer.js");
var import_WiFiNetworkDiagnosticsServer = require("../behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsServer.js");
var import_EthernetNetworkDiagnosticsServer = require("../behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsServer.js");
var import_TimeSynchronizationServer = require("../behaviors/time-synchronization/TimeSynchronizationServer.js");
var import_IcdManagementServer = require("../behaviors/icd-management/IcdManagementServer.js");
var import_TlsCertificateManagementServer = require("../behaviors/tls-certificate-management/TlsCertificateManagementServer.js");
var import_TlsClientManagementServer = require("../behaviors/tls-client-management/TlsClientManagementServer.js");
var import_TimeSynchronizationClient = require("../behaviors/time-synchronization/TimeSynchronizationClient.js");
var import_MutableEndpoint = require("../endpoint/type/MutableEndpoint.js");
var import_model = require("@matter/model");
var import_SupportedBehaviors = require("../endpoint/properties/SupportedBehaviors.js");
/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
var RootRequirements;
((RootRequirements2) => {
  RootRequirements2.AccessControlServer = import_AccessControlServer.AccessControlServer;
  RootRequirements2.BasicInformationServer = import_BasicInformationServer.BasicInformationServer;
  RootRequirements2.GeneralCommissioningServer = import_GeneralCommissioningServer.GeneralCommissioningServer;
  RootRequirements2.GeneralDiagnosticsServer = import_GeneralDiagnosticsServer.GeneralDiagnosticsServer;
  RootRequirements2.AdministratorCommissioningServer = import_AdministratorCommissioningServer.AdministratorCommissioningServer;
  RootRequirements2.OperationalCredentialsServer = import_OperationalCredentialsServer.OperationalCredentialsServer;
  RootRequirements2.GroupKeyManagementServer = import_GroupKeyManagementServer.GroupKeyManagementServer;
  RootRequirements2.LocalizationConfigurationServer = import_LocalizationConfigurationServer.LocalizationConfigurationServer;
  RootRequirements2.TimeFormatLocalizationServer = import_TimeFormatLocalizationServer.TimeFormatLocalizationServer;
  RootRequirements2.UnitLocalizationServer = import_UnitLocalizationServer.UnitLocalizationServer;
  RootRequirements2.PowerSourceConfigurationServer = import_PowerSourceConfigurationServer.PowerSourceConfigurationServer;
  RootRequirements2.NetworkCommissioningServer = import_NetworkCommissioningServer.NetworkCommissioningServer;
  RootRequirements2.DiagnosticLogsServer = import_DiagnosticLogsServer.DiagnosticLogsServer;
  RootRequirements2.SoftwareDiagnosticsServer = import_SoftwareDiagnosticsServer.SoftwareDiagnosticsServer;
  RootRequirements2.ThreadNetworkDiagnosticsServer = import_ThreadNetworkDiagnosticsServer.ThreadNetworkDiagnosticsServer;
  RootRequirements2.WiFiNetworkDiagnosticsServer = import_WiFiNetworkDiagnosticsServer.WiFiNetworkDiagnosticsServer;
  RootRequirements2.EthernetNetworkDiagnosticsServer = import_EthernetNetworkDiagnosticsServer.EthernetNetworkDiagnosticsServer;
  RootRequirements2.TimeSynchronizationServer = import_TimeSynchronizationServer.TimeSynchronizationServer;
  RootRequirements2.IcdManagementServer = import_IcdManagementServer.IcdManagementServer;
  RootRequirements2.TlsCertificateManagementServer = import_TlsCertificateManagementServer.TlsCertificateManagementServer;
  RootRequirements2.TlsClientManagementServer = import_TlsClientManagementServer.TlsClientManagementServer;
  RootRequirements2.TimeSynchronizationClient = import_TimeSynchronizationClient.TimeSynchronizationClient;
  RootRequirements2.server = {
    mandatory: {
      Parts: import_PartsBehavior.PartsBehavior,
      Index: import_IndexBehavior.IndexBehavior,
      AccessControl: RootRequirements2.AccessControlServer,
      BasicInformation: RootRequirements2.BasicInformationServer,
      GeneralCommissioning: RootRequirements2.GeneralCommissioningServer,
      GeneralDiagnostics: RootRequirements2.GeneralDiagnosticsServer,
      AdministratorCommissioning: RootRequirements2.AdministratorCommissioningServer,
      OperationalCredentials: RootRequirements2.OperationalCredentialsServer,
      GroupKeyManagement: RootRequirements2.GroupKeyManagementServer
    },
    optional: {
      LocalizationConfiguration: RootRequirements2.LocalizationConfigurationServer,
      TimeFormatLocalization: RootRequirements2.TimeFormatLocalizationServer,
      UnitLocalization: RootRequirements2.UnitLocalizationServer,
      PowerSourceConfiguration: RootRequirements2.PowerSourceConfigurationServer,
      NetworkCommissioning: RootRequirements2.NetworkCommissioningServer,
      DiagnosticLogs: RootRequirements2.DiagnosticLogsServer,
      SoftwareDiagnostics: RootRequirements2.SoftwareDiagnosticsServer,
      ThreadNetworkDiagnostics: RootRequirements2.ThreadNetworkDiagnosticsServer,
      WiFiNetworkDiagnostics: RootRequirements2.WiFiNetworkDiagnosticsServer,
      EthernetNetworkDiagnostics: RootRequirements2.EthernetNetworkDiagnosticsServer,
      TimeSynchronization: RootRequirements2.TimeSynchronizationServer,
      IcdManagement: RootRequirements2.IcdManagementServer,
      TlsCertificateManagement: RootRequirements2.TlsCertificateManagementServer,
      TlsClientManagement: RootRequirements2.TlsClientManagementServer
    }
  };
  RootRequirements2.client = { optional: { TimeSynchronization: RootRequirements2.TimeSynchronizationClient }, mandatory: {} };
})(RootRequirements || (RootRequirements = {}));
const RootEndpointDefinition = (0, import_MutableEndpoint.MutableEndpoint)({
  name: "RootNode",
  deviceType: 22,
  deviceRevision: 4,
  deviceClass: import_model.DeviceClassification.Node,
  requirements: RootRequirements,
  behaviors: (0, import_SupportedBehaviors.SupportedBehaviors)(
    RootRequirements.server.mandatory.Parts,
    RootRequirements.server.mandatory.Index,
    RootRequirements.server.mandatory.AccessControl,
    RootRequirements.server.mandatory.BasicInformation,
    RootRequirements.server.mandatory.GeneralCommissioning,
    RootRequirements.server.mandatory.GeneralDiagnostics,
    RootRequirements.server.mandatory.AdministratorCommissioning,
    RootRequirements.server.mandatory.OperationalCredentials,
    RootRequirements.server.mandatory.GroupKeyManagement
  )
});
Object.freeze(RootEndpointDefinition);
const RootEndpoint = RootEndpointDefinition;
//# sourceMappingURL=root.js.map
