/// import { Reader as BaseReader } from '../reader'; import { Writer as BaseWriter } from '../writer'; export interface ReaderOptions { endian?: 'big' | 'little'; } export declare class Reader extends BaseReader { reader: BaseReader; options: ReaderOptions; pos: number; buf: Buffer | undefined; constructor(rd: BaseReader, options: ReaderOptions); readData(len?: number, peekOnly?: boolean): Buffer | undefined; ensure(len: number): number; peek(len: number): Buffer | undefined; peekAll(): Buffer | undefined; unread(len: number): void; } export interface WriterOptions { endian?: 'big' | 'little'; bufSize?: number; } export declare class Writer extends BaseWriter { writer: BaseWriter; options: WriterOptions; pos: number; buf: Buffer; constructor(wr: BaseWriter, options?: WriterOptions); flush(): void; ensure(len: number): void; writeDate(buf: Buffer): void; } export interface BinaryReader extends Reader { read(len?: number): Buffer | undefined; readInt8(): number; peekInt8(): number; unreadInt8(): void; readUInt8(): number; peekUInt8(): number; unreadUInt8(): void; readInt16(): number; peekInt16(): number; unreadInt16(): void; readUInt16(): number; peekUInt16(): number; unreadUInt16(): void; readInt32(): number; peekInt32(): number; unreadInt32(): void; readUInt32(): number; peekUInt32(): number; unreadUInt32(): void; readFloat(): number; peekFloat(): number; unreadFloat(): void; readDouble(): number; peekDouble(): number; unreadDouble(): void; } export interface BinaryWriter extends Writer { writeInt8(val: number): void; writeUInt8(val: number): void; writeInt16(val: number): void; writeUInt16(val: number): void; writeInt32(val: number): void; writeUInt32(val: number): void; writeFloat(val: number): void; writeDouble(val: number): void; } export declare function reader(rd: BaseReader, options?: ReaderOptions): BinaryReader; export declare function writer(wr: BaseWriter, options?: WriterOptions): BinaryWriter;