"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 LowPower_exports = {};
__export(LowPower_exports, {
  LowPower: () => LowPower
});
module.exports = __toCommonJS(LowPower_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 LowPower = (0, import_elements.ClusterElement)({
  name: "LowPower",
  id: 1288,
  classification: "application",
  pics: "LOWPOWER",
  details: "This cluster provides an interface for managing low power mode on a device.\nThis cluster would be supported on an endpoint that represents a physical device with a low power mode. This cluster provides a sleep() command to allow clients to manually put the device into low power mode. There is no command here to wake up a sleeping device because that operation often involves other protocols such as Wake On LAN. Most devices automatically enter low power mode based upon inactivity.\nThe cluster server for Low Power is implemented by a device that supports a low power mode, such as a TV, Set-top box, or Smart Speaker.\nNOTE\nWe have considered a \u201CDisableLowPowerMode\u201D command but have not added it due to suspected issues with energy consumption regulations. This can be added in the future.",
  xref: { document: "cluster", section: "1.11" },
  children: [
    (0, import_elements.AttributeElement)({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 1 }),
    (0, import_elements.CommandElement)({
      name: "Sleep",
      id: 0,
      access: "O",
      conformance: "M",
      direction: "request",
      response: "status",
      details: "This command shall put the device into low power mode.",
      xref: { document: "cluster", section: "1.11.4.1" }
    })
  ]
});
import_MatterDefinition.MatterDefinition.children.push(LowPower);
//# sourceMappingURL=LowPower.js.map
