"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 RootNodeDT_exports = {};
__export(RootNodeDT_exports, {
  RootNodeDt: () => RootNodeDt
});
module.exports = __toCommonJS(RootNodeDT_exports);
var import_MatterDefinition = require("../MatterDefinition.js");
var import_elements = require("../../elements/index.js");
/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
const RootNodeDt = (0, import_elements.DeviceTypeElement)(
  {
    name: "RootNode",
    id: 22,
    category: "Utility",
    classification: "node",
    details: 'This defines conformance for a root node endpoint (see System Model specification). This endpoint is akin to a "read me first" endpoint that describes itself and the other endpoints that make up the node.\n  \u2022 Device types with Endpoint scope shall NOT be supported on the same endpoint as this device     type.\n  \u2022 Clusters with an Application role shall NOT be supported on the same endpoint as this device     type.\n  \u2022 Other device types with Node scope may be supported on the same endpoint as this device type.',
    xref: { document: "device", section: "2.1" }
  },
  (0, import_elements.RequirementElement)(
    { name: "Descriptor", id: 29, element: "serverCluster" },
    (0, import_elements.RequirementElement)({ name: "DeviceTypeList", default: [{ deviceType: 22, revision: 2 }], element: "attribute" })
  ),
  (0, import_elements.RequirementElement)({
    name: "BasicInformation",
    id: 40,
    conformance: "M",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "AccessControl",
    id: 31,
    conformance: "M",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "PowerSourceConfiguration",
    id: 46,
    conformance: "O, D",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "TimeSynchronization",
    id: 56,
    conformance: "O",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "GroupKeyManagement",
    id: 63,
    conformance: "M",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "GeneralCommissioning",
    id: 48,
    conformance: "M",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "NetworkCommissioning",
    id: 49,
    conformance: "!CustomNetworkConfig",
    element: "serverCluster",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "AdministratorCommissioning",
    id: 60,
    conformance: "M",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "OperationalCredentials",
    id: 62,
    conformance: "M",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "LocalizationConfiguration",
    id: 43,
    conformance: "LanguageLocale",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "TimeFormatLocalization",
    id: 44,
    conformance: "TimeLocale",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "UnitLocalization",
    id: 45,
    conformance: "UnitLocale",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "GeneralDiagnostics",
    id: 51,
    conformance: "M",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "DiagnosticLogs",
    id: 50,
    conformance: "O",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "SoftwareDiagnostics",
    id: 52,
    conformance: "O",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "EthernetNetworkDiagnostics",
    id: 55,
    conformance: "[Ethernet]",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "WiFiNetworkDiagnostics",
    id: 54,
    conformance: "[Wi, 0, i]",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)({
    name: "ThreadNetworkDiagnostics",
    id: 53,
    conformance: "[Thread]",
    element: "serverCluster",
    quality: "I",
    xref: { document: "device", section: "2.1.5" }
  }),
  (0, import_elements.RequirementElement)(
    {
      name: "IcdManagement",
      id: 70,
      conformance: "SIT",
      element: "serverCluster",
      quality: "I",
      xref: { document: "device", section: "2.1.5" }
    },
    (0, import_elements.RequirementElement)({ name: "LONGIDLETIMESUPPORT", conformance: "P, LIT", element: "feature" })
  ),
  (0, import_elements.FieldElement)(
    { name: "conditions", type: "enum8" },
    (0, import_elements.FieldElement)({
      name: "CustomNetworkConfig",
      description: "The node only supports out-of-band-configured networking (e.g. rich user interface, manufacturer-specific means, custom commissioning flows, or future IP-compliant network technology not yet directly supported by NetworkCommissioning cluster).",
      xref: { document: "device", section: "2.1.3" }
    })
  )
);
import_MatterDefinition.MatterDefinition.children.push(RootNodeDt);
//# sourceMappingURL=RootNodeDT.js.map
