/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { EnergyPreference } from "#clusters/energy-preference";
import { ClusterBehavior } from "../../behavior/cluster/ClusterBehavior.js";
import { ClusterType } from "#types";
import { Identity } from "#general";
/**
 * EnergyPreferenceBehavior is the base class for objects that support interaction with
 * {@link EnergyPreference.Cluster}.
 *
 * EnergyPreference.Cluster requires you to enable one or more optional features. You can do so using
 * {@link EnergyPreferenceBehavior.with}.
 */
export declare const EnergyPreferenceBehaviorConstructor: ClusterBehavior.Type<ClusterType.Of<{
    readonly id: 155;
    readonly name: "EnergyPreference";
    readonly revision: 1;
    readonly features: {
        readonly energyBalance: import("#types").BitFlag;
        readonly lowPowerModeSensitivity: import("#types").BitFlag;
    };
    readonly extensions: readonly [{
        readonly flags: {
            readonly energyBalance: true;
        };
        readonly component: {
            readonly attributes: {
                readonly energyBalances: import("#types").FixedAttribute<import("#types").TypeFromFields<{
                    step: import("#types").FieldType<number>;
                    label: import("#types").OptionalFieldType<string>;
                }>[], any>;
                readonly currentEnergyBalance: import("#types").WritableAttribute<number, any>;
                readonly energyPriorities: import("#types").FixedAttribute<EnergyPreference.EnergyPriority[], any>;
            };
        };
    }, {
        readonly flags: {
            readonly lowPowerModeSensitivity: true;
        };
        readonly component: {
            readonly attributes: {
                readonly lowPowerModeSensitivities: import("#types").FixedAttribute<import("#types").TypeFromFields<{
                    step: import("#types").FieldType<number>;
                    label: import("#types").OptionalFieldType<string>;
                }>[], any>;
                readonly currentLowPowerModeSensitivity: import("#types").WritableAttribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly energyBalance: false;
            readonly lowPowerModeSensitivity: false;
        };
        readonly component: false;
    }];
}>, typeof ClusterBehavior, {
    components: never[];
}>;
export interface EnergyPreferenceBehaviorConstructor extends Identity<typeof EnergyPreferenceBehaviorConstructor> {
}
export declare const EnergyPreferenceBehavior: EnergyPreferenceBehaviorConstructor;
export interface EnergyPreferenceBehavior extends InstanceType<EnergyPreferenceBehaviorConstructor> {
}
export declare namespace EnergyPreferenceBehavior {
    interface State extends InstanceType<typeof EnergyPreferenceBehavior.State> {
    }
}
//# sourceMappingURL=EnergyPreferenceBehavior.d.ts.map