/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
export declare enum Endian {
    Little = 0,
    Big = 1
}
/**
 * A standard JS source of bytes.
 *
 * This alias mainly exists because "AllowedSharedBufferSource" is an annoying name.
 */
export type Bytes = AllowSharedBufferSource;
/**
 * A string tag for hex literals.
 *
 * Example: b$`01020304` creates a four-byte Uint8Array.
 */
export declare function b$(strings: TemplateStringsArray, ...values: unknown[]): AllowSharedBufferSource;
/**
 * Utility functions for manipulating Uint8Array.
 */
export declare namespace Bytes {
    function toHex(array: Bytes): string;
    function toBase64(array: Bytes): string;
    function dataViewOf(array: Bytes): DataView<ArrayBufferLike>;
    function areEqual(array1: Bytes, array2: Bytes): boolean;
    /**
     * Obtain a {@link Uint8Array} for {@link Bytes}.
     */
    function of(source: Bytes): Uint8Array<ArrayBufferLike>;
    /**
     * Like {@link of} for the few places where JS differentiates between {@link BufferSource} and
     * {@link SharedBufferSource}.
     *
     * We generally do not deal with shared buffers and this is mostly relevant for security APIs.  So we throw if for
     * some reason the input sourde is not exclusive.
     */
    function exclusive(source: Bytes): BufferSource;
    function isBytes(source: unknown): source is Bytes;
    function fromHex(hexString: string): Bytes;
    function fromBase64(base64String: string): AllowSharedBufferSource;
    function fromString(string: string | Bytes): Bytes;
    function fromBigInt(value: bigint, minBytes?: number): AllowSharedBufferSource;
    function toString(bytes: string | Bytes): string;
    function concat(...arrays: Bytes[]): Bytes;
    function asBigInt(bytes: Bytes): bigint;
    const empty: Uint8Array<ArrayBuffer>;
}
//# sourceMappingURL=Bytes.d.ts.map