"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 ControlBridgeDT_exports = {};
__export(ControlBridgeDT_exports, {
  ControlBridgeDt: () => ControlBridgeDt
});
module.exports = __toCommonJS(ControlBridgeDT_exports);
var import_MatterDefinition = require("../MatterDefinition.js");
var import_elements = require("../../elements/index.js");
/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
const ControlBridgeDt = (0, import_elements.DeviceTypeElement)({
  name: "ControlBridge",
  id: 2112,
  category: "Switches and Controls",
  classification: "simple",
  details: "A Control Bridge is a controller device that, when bound to a lighting device such as an Extended Color Light, is capable of being used to switch the device on or off, adjust the intensity of the light being emitted and adjust the color of the light being emitted. In addition, a Control Bridge device is capable of being used for setting scenes.",
  xref: { document: "device", section: "6.4" },
  children: [
    (0, import_elements.RequirementElement)({
      name: "Descriptor",
      id: 29,
      element: "serverCluster",
      children: [(0, import_elements.RequirementElement)({ name: "DeviceTypeList", default: [{ deviceType: 2112, revision: 3 }], element: "attribute" })]
    }),
    (0, import_elements.RequirementElement)({
      name: "Identify",
      id: 3,
      conformance: "M",
      element: "serverCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "Identify",
      id: 3,
      conformance: "M",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "Groups",
      id: 4,
      conformance: "M",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "ScenesManagement",
      id: 98,
      conformance: "P, M",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "OnOff",
      id: 6,
      conformance: "M",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "LevelControl",
      id: 8,
      conformance: "M",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "ColorControl",
      id: 768,
      conformance: "M",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "IlluminanceMeasurement",
      id: 1024,
      conformance: "O",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    }),
    (0, import_elements.RequirementElement)({
      name: "OccupancySensing",
      id: 1030,
      conformance: "O",
      element: "clientCluster",
      xref: { document: "device", section: "6.4.4" }
    })
  ]
});
import_MatterDefinition.MatterDefinition.children.push(ControlBridgeDt);
//# sourceMappingURL=ControlBridgeDT.js.map
