/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ClusterBehavior } from "../../behavior/cluster/ClusterBehavior.js";
import { ClusterType } from "#types";
/**
 * Pm10ConcentrationMeasurementBehavior is the base class for objects that support interaction with {@link
 * Pm10ConcentrationMeasurement.Cluster}.
 *
 * Pm10ConcentrationMeasurement.Cluster requires you to enable one or more optional features. You can do so using
 * {@link Pm10ConcentrationMeasurementBehavior.with}.
 */
export declare const Pm10ConcentrationMeasurementBehavior: ClusterBehavior.Type<ClusterType.Of<{
    readonly id: 1069;
    readonly name: "Pm10ConcentrationMeasurement";
    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.js/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.js/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.js/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[];
}>;
type Pm10ConcentrationMeasurementBehaviorType = InstanceType<typeof Pm10ConcentrationMeasurementBehavior>;
export interface Pm10ConcentrationMeasurementBehavior extends Pm10ConcentrationMeasurementBehaviorType {
}
type StateType = InstanceType<typeof Pm10ConcentrationMeasurementBehavior.State>;
export declare namespace Pm10ConcentrationMeasurementBehavior {
    interface State extends StateType {
    }
}
export {};
//# sourceMappingURL=Pm10ConcentrationMeasurementBehavior.d.ts.map