/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ClusterBehavior } from "../../behavior/cluster/ClusterBehavior.js";
import { ClusterType } from "#types";
import { Identity } from "#general";
/**
 * PowerTopologyBehavior is the base class for objects that support interaction with {@link PowerTopology.Cluster}.
 *
 * PowerTopology.Cluster requires you to enable one or more optional features. You can do so using
 * {@link PowerTopologyBehavior.with}.
 */
export declare const PowerTopologyBehaviorConstructor: ClusterBehavior.Type<ClusterType.Of<{
    readonly id: 156;
    readonly name: "PowerTopology";
    readonly revision: 1;
    readonly features: {
        readonly nodeTopology: import("#types").BitFlag;
        readonly treeTopology: import("#types").BitFlag;
        readonly setTopology: import("#types").BitFlag;
        readonly dynamicPowerFlow: import("#types").BitFlag;
    };
    readonly extensions: readonly [{
        readonly flags: {
            readonly setTopology: true;
        };
        readonly component: {
            readonly attributes: {
                readonly availableEndpoints: import("#types").FixedAttribute<import("#types").EndpointNumber[], any>;
            };
        };
    }, {
        readonly flags: {
            readonly dynamicPowerFlow: true;
        };
        readonly component: {
            readonly attributes: {
                readonly activeEndpoints: import("#types").Attribute<import("#types").EndpointNumber[], any>;
            };
        };
    }, {
        readonly flags: {
            readonly dynamicPowerFlow: true;
            readonly setTopology: false;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly nodeTopology: true;
            readonly treeTopology: true;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly nodeTopology: true;
            readonly setTopology: true;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly treeTopology: true;
            readonly setTopology: true;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly nodeTopology: false;
            readonly treeTopology: false;
            readonly setTopology: false;
        };
        readonly component: false;
    }];
}>, typeof ClusterBehavior, {
    components: never[];
}>;
export interface PowerTopologyBehaviorConstructor extends Identity<typeof PowerTopologyBehaviorConstructor> {
}
export declare const PowerTopologyBehavior: PowerTopologyBehaviorConstructor;
export interface PowerTopologyBehavior extends InstanceType<PowerTopologyBehaviorConstructor> {
}
export declare namespace PowerTopologyBehavior {
    interface State extends InstanceType<typeof PowerTopologyBehavior.State> {
    }
}
//# sourceMappingURL=PowerTopologyBehavior.d.ts.map