/// export declare namespace Reader { function AdjustEnd(offset: number, maxLen: number, len?: number): number; } export interface ReaderContext { offset: number; } export interface Reader { readonly length: number; readonly offset: number; noAssert: boolean; reset(): void; getContext(): ReaderContext; setContext(context: ReaderContext): void; pushd(): number; popd(): number; checkEOF(offsetStep?: number): boolean; skip(offsetStep?: number): boolean; seek(offset: number): boolean; readByte(): number; readUInt16(): number; readUInt32(): number; readDouble(): number; readString(encoding?: BufferEncoding, len?: number): string; readBuffer(len?: number): Buffer; readBufferList(len?: number): Buffer[]; readArrayBuffer(len?: number): ArrayBuffer; slice(len?: number): Buffer; reduce(): void; subarray(len?: number): Buffer; subarrayList(len?: number): Buffer[]; } export declare abstract class ReaderBase implements Reader { protected static EmptyBuffer: Buffer; protected readonly _decodeString: (buffer: Buffer, start: number, end: number) => string; protected _noAssert: boolean; protected _offset: number; constructor(offset?: number); abstract get length(): number; getContext(): ReaderContext; setContext(context: ReaderContext): void; get offset(): number; get noAssert(): boolean; set noAssert(noAssert: boolean); reset(): void; checkEOF(offsetStep?: number): boolean; skip(offsetStep?: number): boolean; abstract pushd(): number; abstract popd(): number; abstract seek(offset: number): boolean; abstract readByte(): number; abstract readUInt16(): number; abstract readUInt32(): number; abstract readDouble(): number; abstract readString(encoding?: BufferEncoding, len?: number): string; abstract readBuffer(len?: number): Buffer; abstract readBufferList(len?: number): Buffer[]; abstract readArrayBuffer(len?: number): ArrayBuffer; abstract slice(len?: number): Buffer; abstract reduce(): void; subarray(len?: number): Buffer; subarrayList(len?: number): Buffer[]; protected _decodeBufferFast(decoder: TextDecoder, buffer: Buffer, start: number, end: number): string; protected _decodeStringSlow(buffer: Buffer, start: number, end: number): string; }