import { toBase64 } from "./base64"; export { toBase64 }; export type BinaryEncoding = "utf-8" | "utf8" | "utf16le" | "ascii" | "latin1" | "hex" | "base64"; /** * A binary reader over a Uint8Array with a position and optional limit. * The API mirrors Node's BufferReader with little-endian defaults. */ export declare class BufferReader { littleEndian: boolean; private readonly buffer; private readonly view; private pos; private limit; /** * * @param buf buffer to read * @param littleEndian Whether the endian when endian is not specified is little endian */ constructor(buffer: Uint8Array, littleEndian?: boolean); private stringify; /** * Restrict position to read. * @param limit Limit * @throws RangeError */ setLimit(limit: number): this; /** * Reset Limit. */ resetLimit(): this; /** * Get Limit. */ getLimit(): number | null; /** * Return the current reading position. */ getPos(): number; eob(): boolean; length(): number; /** * Move the current reading position. * @param pos Position * @throws RangeError */ seek(pos: number): this; /** * Skip a specific length * @param nByte skip length * @throws RangeError */ skip(nByte: number): this; private checkPos; /** * Read as an encoded string. * @param length Length to read * @throws RangeError */ readString(length: number, encoding: BinaryEncoding): string; /** * Slice buffer. * @param length Length to read * @throws RangeError */ readBuffer(length: number): Uint8Array; /** * @throws RangeError */ readInt8(): number; /** * @throws RangeError */ readUInt8(): number; /** * @throws RangeError */ readInt16(): number; /** * @throws RangeError */ readInt16LE(): number; /** * @throws RangeError */ readInt16BE(): number; /** * @throws RangeError */ readUInt16(): number; /** * @throws RangeError */ readUInt16LE(): number; /** * @throws RangeError */ readUInt16BE(): number; /** * @throws RangeError */ readInt32(): number; /** * @throws RangeError */ readInt32LE(): number; /** * @throws RangeError */ readInt32BE(): number; /** * @throws RangeError */ readUInt32(): number; /** * @throws RangeError */ readUInt32LE(): number; /** * @throws RangeError */ readUInt32BE(): number; /** * Reads a 64-bit unsigned integer. Values are returned as a JavaScript * number which is exact for all values below 2^53 (which covers all * realistic file sizes and positions). * @throws RangeError */ readUInt64(): number; /** * @throws RangeError */ readUInt64LE(): number; /** * @throws RangeError */ readUInt64BE(): number; /** * @throws RangeError */ readInt64(): number; /** * @throws RangeError */ readInt64LE(): number; /** * @throws RangeError */ readInt64BE(): number; /** * @throws RangeError */ readFloat32(): number; /** * @throws RangeError */ readFloat32LE(): number; /** * @throws RangeError */ readFloat32BE(): number; /** * @throws RangeError */ readFloat64(): number; /** * @throws RangeError */ readFloat64LE(): number; /** * @throws RangeError */ readFloat64BE(): number; } export declare function decode(bytes: Uint8Array, encoding: BinaryEncoding): string; export declare function toHex(bytes: Uint8Array): string; export declare function fromHex(hex: string): Uint8Array;