/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MeasurementType } from "./MeasurementType.js";
import { TypeFromSchema } from "../tlv/TlvSchema.js";
/**
 * This struct represents the set of accuracy ranges for a given measurement, the maximum and minimum values for the
 * measurement, and whether the measurement is directly measured or just estimated from other information.
 *
 * @see {@link MatterSpecification.v142.Cluster} § 2.1.3.3
 */
export declare const TlvMeasurementAccuracy: import("../tlv/TlvObject.js").ObjectSchema<{
    /**
     * This field shall indicate the type of measurement for the accuracy provided.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 2.1.3.3.1
     */
    measurementType: import("../tlv/TlvObject.js").FieldType<MeasurementType>;
    /**
     * This field shall indicate whether the associated measurement was directly measured. If this field is not set to
     * true, then the associated measurement was estimated.
     *
     * @see {@link MatterSpecification.v142.Cluster} § 2.1.3.3.2
     */
    measured: import("../tlv/TlvObject.js").FieldType<boolean>;
    minMeasuredValue: import("../tlv/TlvObject.js").FieldType<number | bigint>;
    maxMeasuredValue: import("../tlv/TlvObject.js").FieldType<number | bigint>;
    /**
     * This field shall indicate a list of measurement ranges and their associated accuracies.
     *
     * The value of the RangeMin field on the first MeasurementAccuracyRangeStruct in this list shall be equal to the
     * value of the MinMeasuredValue field.
     *
     * The value of the RangeMax field on the last MeasurementAccuracyRangeStruct in this list shall be less than or
     * equal to the value of the MaxMeasuredValue field.
     *
     * The value of the RangeMin field on each MeasurementAccuracyRangeStruct in this list other than the first shall be
     * one more the value of the RangeMax field on the previous MeasurementAccuracyRangeStruct in this list (i.e. there
     * shall be no gaps in the accuracy ranges, and the ranges shall be in increasing order).
     *
     * @see {@link MatterSpecification.v142.Cluster} § 2.1.3.3.5
     */
    accuracyRanges: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
        rangeMin: import("../tlv/TlvObject.js").FieldType<number | bigint>;
        rangeMax: import("../tlv/TlvObject.js").FieldType<number | bigint>;
        percentMax: import("../tlv/TlvObject.js").OptionalFieldType<number>;
        percentMin: import("../tlv/TlvObject.js").OptionalFieldType<number>;
        percentTypical: import("../tlv/TlvObject.js").OptionalFieldType<number>;
        fixedMax: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
        fixedMin: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
        fixedTypical: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
    }>[]>;
}>;
/**
 * This struct represents the set of accuracy ranges for a given measurement, the maximum and minimum values for the
 * measurement, and whether the measurement is directly measured or just estimated from other information.
 *
 * @see {@link MatterSpecification.v142.Cluster} § 2.1.3.3
 */
export interface MeasurementAccuracy extends TypeFromSchema<typeof TlvMeasurementAccuracy> {
}
//# sourceMappingURL=MeasurementAccuracy.d.ts.map