/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { PulseWidthModulation } from "#clusters/pulse-width-modulation";
import { ClusterBehavior } from "../../behavior/cluster/ClusterBehavior.js";
import { LevelControlInterface } from "../level-control/LevelControlInterface.js";
/**
 * PulseWidthModulationBehavior is the base class for objects that support interaction with {@link
 * PulseWidthModulation.Cluster}.
 *
 * This class does not have optional features of PulseWidthModulation.Cluster enabled. You can enable additional
 * features using PulseWidthModulationBehavior.with.
 */
export declare const PulseWidthModulationBehavior: ClusterBehavior.Type<PulseWidthModulation.Cluster, ClusterBehavior.Type<import("@matter.js/types").ClusterType.Of<{
    readonly id: 0;
    readonly revision: 0;
    readonly name: "Unknown";
    readonly attributes: {};
    readonly commands: {};
    readonly events: {};
}>, typeof ClusterBehavior, LevelControlInterface>, LevelControlInterface>;
type PulseWidthModulationBehaviorType = InstanceType<typeof PulseWidthModulationBehavior>;
export interface PulseWidthModulationBehavior extends PulseWidthModulationBehaviorType {
}
type StateType = InstanceType<typeof PulseWidthModulationBehavior.State>;
export declare namespace PulseWidthModulationBehavior {
    interface State extends StateType {
    }
}
export {};
//# sourceMappingURL=PulseWidthModulationBehavior.d.ts.map