/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
import { Attribute } from "../cluster/Cluster.js";
import { TlvArray } from "../tlv/TlvArray.js";
import { TlvEndpointNumber } from "../datatype/EndpointNumber.js";
import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
var PowerSourceConfiguration;
((PowerSourceConfiguration2) => {
  PowerSourceConfiguration2.ClusterInstance = MutableCluster({
    id: 46,
    name: "PowerSourceConfiguration",
    revision: 1,
    attributes: {
      /**
       * This list shall contain the set of all power sources capable of participating in the power system of this
       * Node. Each entry in the list shall be the endpoint number of an endpoint having a Power Source cluster,
       * which corresponds to a physical power source. The endpoint number shall be unique within the list.
       *
       * The order of power sources on a Node is defined by the Order attribute of its associated Power Source
       * cluster provided on the endpoint. List entries shall be sorted in increasing order, that is, an entry
       * with a lower order shall have a lower index than any entry with a higher order. Multiple entries may have
       * the same order, there are no restrictions on their relative sorting.
       *
       * @see {@link MatterSpecification.v142.Core} § 11.6.4.1
       */
      sources: Attribute(0, TlvArray(TlvEndpointNumber, { maxLength: 6 }), { persistent: true, default: [] })
    }
  });
  PowerSourceConfiguration2.Cluster = PowerSourceConfiguration2.ClusterInstance;
  PowerSourceConfiguration2.Complete = PowerSourceConfiguration2.Cluster;
})(PowerSourceConfiguration || (PowerSourceConfiguration = {}));
const PowerSourceConfigurationCluster = PowerSourceConfiguration.Cluster;
ClusterRegistry.register(PowerSourceConfiguration.Complete);
export {
  PowerSourceConfiguration,
  PowerSourceConfigurationCluster
};
//# sourceMappingURL=power-source-configuration.js.map
