export declare function utf8Encode(value: string): Uint8Array; /** Growable little-endian byte sink. Encoder misuse throws plain `Error`. */ export declare class ByteWriter { #private; u8(value: number): void; u16(value: number): void; u32(value: number): void; i32(value: number): void; i64(value: number): void; f64(value: number): void; bool(value: boolean): void; str(value: string): void; bytes(value: Uint8Array): void; raw(value: Uint8Array): void; opt(value: T | undefined, write: (value: T) => void): void; finish(): Uint8Array; } /** Bounds-checked little-endian reader. Failures throw `DecodeError`. */ export declare class ByteReader { #private; constructor(data: Uint8Array); get remaining(): number; u8(): number; u16(): number; u32(): number; i32(): number; i64(): number; f64(): number; bool(): boolean; raw(size: number): Uint8Array; bytes(): Uint8Array; str(): string; opt(read: () => T): T | undefined; expectFullyConsumed(what: string): void; } /** * `map` of `str` → `list(str)` (scope maps, SPEC.md Conventions). * Encoders emit keys in ascending code-unit order; the reader rejects * duplicate or out-of-order keys (canonical encoding). */ export declare function writeStringListMap(writer: ByteWriter, map: Readonly>): void; export declare function readStringListMap(reader: ByteReader): Record; /** `map` of `str` → `str` (stored scopes on change records, SPEC.md §4.5). */ export declare function writeStringMap(writer: ByteWriter, map: Readonly>): void; export declare function readStringMap(reader: ByteReader): Record;