/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Constraint, ValueModel } from "#model";
/**
 * Helpers for generation of TLV schema from models.
 *
 * We must export these so long as we codegen TLV directly in TlvGenerator.ts.
 */
export declare namespace ModelBounds {
    function createLengthBounds(model: ValueModel): {
        [key: string]: number;
    } | undefined;
    function createNumberBounds(model: ValueModel): {
        [key: string]: number;
    } | undefined;
    /**
     * Bounds for numeric types.
     */
    const NumericRanges: {
        uint8: {
            min: number;
            max: number;
        };
        uint16: {
            min: number;
            max: number;
        };
        uint24: {
            min: number;
            max: number;
        };
        uint32: {
            min: number;
            max: number;
        };
        uint64: {
            min: number;
            max: bigint;
        };
        int8: {
            min: number;
            max: number;
        };
        int16: {
            min: number;
            max: number;
        };
        int32: {
            min: number;
            max: number;
        };
        int64: {
            min: bigint;
            max: bigint;
        };
        float32: {
            min: number;
            max: number;
        };
        percent: {
            min: number;
            max: number;
        };
        percent100ths: {
            min: number;
            max: number;
        };
    };
}
export declare function extractApplicableConstraint(model: ValueModel): Constraint;
//# sourceMappingURL=ModelBounds.d.ts.map