/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
import { LevelControl } from "./level-control.js";
import { ClusterType } from "../cluster/ClusterType.js";
import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
var PulseWidthModulation;
((PulseWidthModulation2) => {
  PulseWidthModulation2.Base = { ...LevelControl.Base, id: 28, name: "PulseWidthModulation" };
  PulseWidthModulation2.ClusterInstance = MutableCluster(
    { ...PulseWidthModulation2.Base, supportedFeatures: { onOff: true }, base: ClusterType(PulseWidthModulation2.Base) },
    LevelControl.NotLightingComponent
  );
  PulseWidthModulation2.Cluster = PulseWidthModulation2.ClusterInstance;
  PulseWidthModulation2.CompleteInstance = MutableCluster({
    ...LevelControl.Complete,
    id: 28,
    name: "PulseWidthModulation"
  });
  PulseWidthModulation2.Complete = PulseWidthModulation2.CompleteInstance;
})(PulseWidthModulation || (PulseWidthModulation = {}));
const PulseWidthModulationCluster = PulseWidthModulation.Cluster;
ClusterRegistry.register(PulseWidthModulation.Complete);
export {
  PulseWidthModulation,
  PulseWidthModulationCluster
};
//# sourceMappingURL=pulse-width-modulation.js.map
