/**
 * @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";
/**
 * TotalVolatileOrganicCompoundsConcentrationMeasurementBehavior is the base class for objects that support interaction
 * with {@link TotalVolatileOrganicCompoundsConcentrationMeasurement.Cluster}.
 *
 * TotalVolatileOrganicCompoundsConcentrationMeasurement.Cluster requires you to enable one or more optional features.
 * You can do so using {@link TotalVolatileOrganicCompoundsConcentrationMeasurementBehavior.with}.
 */
export declare const TotalVolatileOrganicCompoundsConcentrationMeasurementBehaviorConstructor: ClusterBehavior.Type<ClusterType.Of<{
    readonly id: 1070;
    readonly name: "TotalVolatileOrganicCompoundsConcentrationMeasurement";
    readonly features: {
        readonly numericMeasurement: import("#types").BitFlag;
        readonly levelIndication: import("#types").BitFlag;
        readonly mediumLevel: import("#types").BitFlag;
        readonly criticalLevel: import("#types").BitFlag;
        readonly peakMeasurement: import("#types").BitFlag;
        readonly averageMeasurement: import("#types").BitFlag;
    };
    readonly revision: 3;
    readonly attributes: {
        readonly measurementMedium: import("#types").FixedAttribute<import("@matter/types/clusters/concentration-measurement").ConcentrationMeasurement.MeasurementMedium, any>;
    };
    readonly extensions: readonly [{
        readonly flags: {
            readonly numericMeasurement: true;
        };
        readonly component: {
            readonly attributes: {
                readonly measuredValue: import("#types").Attribute<number | null, any>;
                readonly minMeasuredValue: import("#types").Attribute<number | null, any>;
                readonly maxMeasuredValue: import("#types").Attribute<number | null, any>;
                readonly uncertainty: import("#types").OptionalAttribute<number, any>;
                readonly measurementUnit: import("#types").FixedAttribute<import("@matter/types/clusters/concentration-measurement").ConcentrationMeasurement.MeasurementUnit, any>;
            };
        };
    }, {
        readonly flags: {
            readonly peakMeasurement: true;
        };
        readonly component: {
            readonly attributes: {
                readonly peakMeasuredValue: import("#types").Attribute<number | null, any>;
                readonly peakMeasuredValueWindow: import("#types").Attribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly averageMeasurement: true;
        };
        readonly component: {
            readonly attributes: {
                readonly averageMeasuredValue: import("#types").Attribute<number | null, any>;
                readonly averageMeasuredValueWindow: import("#types").Attribute<number, any>;
            };
        };
    }, {
        readonly flags: {
            readonly levelIndication: true;
        };
        readonly component: {
            readonly attributes: {
                readonly levelValue: import("#types").Attribute<import("@matter/types/clusters/concentration-measurement").ConcentrationMeasurement.LevelValue, any>;
            };
        };
    }, {
        readonly flags: {
            readonly mediumLevel: true;
            readonly levelIndication: false;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly criticalLevel: true;
            readonly levelIndication: false;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly peakMeasurement: true;
            readonly numericMeasurement: false;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly averageMeasurement: true;
            readonly numericMeasurement: false;
        };
        readonly component: false;
    }, {
        readonly flags: {
            readonly numericMeasurement: false;
            readonly levelIndication: false;
        };
        readonly component: false;
    }];
}>, typeof ClusterBehavior, {
    components: never[];
}>;
export interface TotalVolatileOrganicCompoundsConcentrationMeasurementBehaviorConstructor extends Identity<typeof TotalVolatileOrganicCompoundsConcentrationMeasurementBehaviorConstructor> {
}
export declare const TotalVolatileOrganicCompoundsConcentrationMeasurementBehavior: TotalVolatileOrganicCompoundsConcentrationMeasurementBehaviorConstructor;
export interface TotalVolatileOrganicCompoundsConcentrationMeasurementBehavior extends InstanceType<TotalVolatileOrganicCompoundsConcentrationMeasurementBehaviorConstructor> {
}
export declare namespace TotalVolatileOrganicCompoundsConcentrationMeasurementBehavior {
    interface State extends InstanceType<typeof TotalVolatileOrganicCompoundsConcentrationMeasurementBehavior.State> {
    }
}
//# sourceMappingURL=TotalVolatileOrganicCompoundsConcentrationMeasurementBehavior.d.ts.map