/** * 바이너리 데이터 읽기 유틸리티 (커서 기반). * HWP 5.0 스트림은 모두 little-endian, 문자열은 UTF-16LE. * * 원작: rhwp/src/parser/byte_reader.rs (MIT, Copyright (c) 2025-2026 Edward Kim) */ export declare class ByteReader { private view; private offset; private readonly end; constructor(data: Uint8Array, offset?: number, length?: number); /** 현재 위치 (바이트 오프셋, 시작점 기준) */ position(): number; /** 남은 바이트 */ remaining(): number; isEmpty(): boolean; setPosition(pos: number): void; skip(n: number): void; readU8(): number; readU16(): number; readU32(): number; readI8(): number; readI16(): number; readI32(): number; /** i64 (BigInt). HWP에서는 거의 등장하지 않지만 호환을 위해. */ readI64(): bigint; /** 지정 길이 바이트를 복사하지 않고 sub-view 반환 (Uint8Array) */ readBytes(len: number): Uint8Array; /** 남은 전부 */ readRemaining(): Uint8Array; /** * HWP 문자열: [u16 charCount] + [UTF-16LE bytes * charCount]. */ readHwpString(): string; /** 지정 글자 수의 UTF-16LE 문자열 */ readUtf16(charCount: number): string; /** ColorRef (0x00BBGGRR) — u32 그대로 */ readColorRef(): number; private ensure; }