export interface BytesReaderSync { readUint8: () => number; getPos: () => bigint; } export interface BytesReader { readUint8: () => Promise; getPos: () => bigint; } export interface BytesWriterSync { writeUint8: (value: number) => void; } export interface BytesWriter { writeUint8: (value: number) => Promise; } export interface Uint8ArrayInterface { set(array: ArrayLike, offset?: number): void; slice(start?: number, end?: number): Uint8Array; subarray(begin?: number, end?: number): Uint8Array; subarray(begin: number, end: number, safe: boolean): Uint8ArrayInterface; view?: DataView; buffer: ArrayBufferLike; length: number; byteLength: number; byteOffset: number; [n: number]: number; }