/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Bytes } from "@matter/general";
import { SchemaErrorPath } from "@matter/model";
import { Val } from "@matter/protocol";
export declare function assertNumber(value: Val, path: SchemaErrorPath): asserts value is number;
export declare function assertBoolean(value: Val, path: SchemaErrorPath): asserts value is number;
export declare function assertObject(value: Val, path: SchemaErrorPath): asserts value is Val.Struct;
export declare function assertNumeric(value: Val, path: SchemaErrorPath): asserts value is number | bigint;
export declare function assertString(value: Val, path: SchemaErrorPath): asserts value is string;
export declare function assertBytes(value: Val, path: SchemaErrorPath): asserts value is Bytes;
export declare function assertSequence(value: Val, path: SchemaErrorPath): asserts value is string | Bytes;
export declare function assertArray(value: Val, path: SchemaErrorPath): asserts value is Val[];
export declare const assertInt: {
    /**
     * Assertions for each integer type that is not nullable.
     */
    notNullable: Record<string, typeof assertNumeric | undefined>;
    /**
     * Assertions for nullable integer types.
     *
     * These are separate from the "not nullable" assertions because Matter reserves a high or low value (for unsigned
     * and signed, respectively) to indicate the field is null.
     */
    nullable: Record<string, typeof assertNumeric | undefined>;
};
//# sourceMappingURL=assertions.d.ts.map