/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
import { PumpConfigurationAndControl } from "@matter/types/clusters/pump-configuration-and-control";
import { ClusterBehavior } from "../../behavior/cluster/ClusterBehavior.js";
import { ClusterType } from "@matter/types";
import { Identity } from "@matter/general";
/**
 * PumpConfigurationAndControlBehavior is the base class for objects that support interaction with
 * {@link PumpConfigurationAndControl.Cluster}.
 *
 * PumpConfigurationAndControl.Cluster requires you to enable one or more optional features. You can do so using
 * {@link PumpConfigurationAndControlBehavior.with}.
 */
export declare const PumpConfigurationAndControlBehaviorConstructor: ClusterBehavior.Type<ClusterType.Of<{
    readonly id: 512;
    readonly name: "PumpConfigurationAndControl";
    readonly revision: 4;
    readonly features: {
        readonly constantPressure: import("@matter/types").BitFlag;
        readonly compensatedPressure: import("@matter/types").BitFlag;
        readonly constantFlow: import("@matter/types").BitFlag;
        readonly constantSpeed: import("@matter/types").BitFlag;
        readonly constantTemperature: import("@matter/types").BitFlag;
        readonly automatic: import("@matter/types").BitFlag;
        readonly localOperation: import("@matter/types").BitFlag;
    };
    readonly attributes: {
        readonly maxPressure: import("@matter/types").FixedAttribute<number | null, any>;
        readonly maxSpeed: import("@matter/types").FixedAttribute<number | null, any>;
        readonly maxFlow: import("@matter/types").FixedAttribute<number | null, any>;
        readonly pumpStatus: import("@matter/types").OptionalAttribute<import("@matter/types").TypeFromPartialBitSchema<{
            deviceFault: import("@matter/types").BitFlag;
            supplyFault: import("@matter/types").BitFlag;
            speedLow: import("@matter/types").BitFlag;
            speedHigh: import("@matter/types").BitFlag;
            localOverride: import("@matter/types").BitFlag;
            running: import("@matter/types").BitFlag;
            remotePressure: import("@matter/types").BitFlag;
            remoteFlow: import("@matter/types").BitFlag;
            remoteTemperature: import("@matter/types").BitFlag;
        }>, any>;
        readonly effectiveOperationMode: import("@matter/types").Attribute<PumpConfigurationAndControl.OperationMode, any>;
        readonly effectiveControlMode: import("@matter/types").Attribute<PumpConfigurationAndControl.ControlMode, any>;
        readonly capacity: import("@matter/types").Attribute<number | null, any>;
        readonly speed: import("@matter/types").OptionalAttribute<number | null, any>;
        readonly lifetimeRunningHours: import("@matter/types").OptionalWritableAttribute<number | null, any>;
        readonly power: import("@matter/types").OptionalAttribute<number | null, any>;
        readonly lifetimeEnergyConsumed: import("@matter/types").OptionalWritableAttribute<number | null, any>;
        readonly operationMode: import("@matter/types").WritableAttribute<PumpConfigurationAndControl.OperationMode, any>;
        readonly controlMode: import("@matter/types").OptionalWritableAttribute<PumpConfigurationAndControl.ControlMode, any>;
        readonly alarmMask: import("@matter/types").OptionalWritableAttribute<number, any>;
    };
    readonly events: {
        readonly supplyVoltageLow: import("@matter/types").OptionalEvent<void, any>;
        readonly supplyVoltageHigh: import("@matter/types").OptionalEvent<void, any>;
        readonly powerMissingPhase: import("@matter/types").OptionalEvent<void, any>;
        readonly systemPressureLow: import("@matter/types").OptionalEvent<void, any>;
        readonly systemPressureHigh: import("@matter/types").OptionalEvent<void, any>;
        readonly dryRunning: import("@matter/types").OptionalEvent<void, any>;
        readonly motorTemperatureHigh: import("@matter/types").OptionalEvent<void, any>;
        readonly pumpMotorFatalFailure: import("@matter/types").OptionalEvent<void, any>;
        readonly electronicTemperatureHigh: import("@matter/types").OptionalEvent<void, any>;
        readonly pumpBlocked: import("@matter/types").OptionalEvent<void, any>;
        readonly sensorFailure: import("@matter/types").OptionalEvent<void, any>;
        readonly electronicNonFatalFailure: import("@matter/types").OptionalEvent<void, any>;
        readonly electronicFatalFailure: import("@matter/types").OptionalEvent<void, any>;
        readonly generalFault: import("@matter/types").OptionalEvent<void, any>;
        readonly leakage: import("@matter/types").OptionalEvent<void, any>;
        readonly airDetection: import("@matter/types").OptionalEvent<void, any>;
        readonly turbineOperation: import("@matter/types").OptionalEvent<void, any>;
    };
    readonly extensions: readonly [{
        readonly flags: {
            readonly constantPressure: true;
        };
        readonly component: {
            readonly attributes: {
                readonly minConstPressure: import("@matter/types").FixedAttribute<number | null, any>;
                readonly maxConstPressure: import("@matter/types").FixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly automatic: true;
        };
        readonly component: {
            readonly attributes: {
                readonly minConstPressure: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly maxConstPressure: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly minCompPressure: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly maxCompPressure: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly minConstSpeed: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly maxConstSpeed: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly minConstFlow: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly maxConstFlow: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly minConstTemp: import("@matter/types").OptionalFixedAttribute<number | null, any>;
                readonly maxConstTemp: import("@matter/types").OptionalFixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly compensatedPressure: true;
        };
        readonly component: {
            readonly attributes: {
                readonly minCompPressure: import("@matter/types").FixedAttribute<number | null, any>;
                readonly maxCompPressure: import("@matter/types").FixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly constantSpeed: true;
        };
        readonly component: {
            readonly attributes: {
                readonly minConstSpeed: import("@matter/types").FixedAttribute<number | null, any>;
                readonly maxConstSpeed: import("@matter/types").FixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly constantFlow: true;
        };
        readonly component: {
            readonly attributes: {
                readonly minConstFlow: import("@matter/types").FixedAttribute<number | null, any>;
                readonly maxConstFlow: import("@matter/types").FixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly constantTemperature: true;
        };
        readonly component: {
            readonly attributes: {
                readonly minConstTemp: import("@matter/types").FixedAttribute<number | null, any>;
                readonly maxConstTemp: import("@matter/types").FixedAttribute<number | null, any>;
            };
        };
    }, {
        readonly flags: {
            readonly constantPressure: false;
            readonly compensatedPressure: false;
            readonly constantFlow: false;
            readonly constantSpeed: false;
            readonly constantTemperature: false;
        };
        readonly component: false;
    }];
}>, typeof ClusterBehavior, {
    components: never[];
}>;
export interface PumpConfigurationAndControlBehaviorConstructor extends Identity<typeof PumpConfigurationAndControlBehaviorConstructor> {
}
export declare const PumpConfigurationAndControlBehavior: PumpConfigurationAndControlBehaviorConstructor;
export interface PumpConfigurationAndControlBehavior extends InstanceType<PumpConfigurationAndControlBehaviorConstructor> {
}
export declare namespace PumpConfigurationAndControlBehavior {
    interface State extends InstanceType<typeof PumpConfigurationAndControlBehavior.State> {
    }
}
//# sourceMappingURL=PumpConfigurationAndControlBehavior.d.ts.map