///
import { BufferReader, BufferReaderCtor, BufferWriterCtor, BufferWriter, EncodingErrorCtor, StaticWriter, StaticWriterCtor, Struct, StructCtor, Encoding, Varint } from './types';
declare type ReadFn = (data: Buffer, off: number) => number;
declare type ReadnFn = (data: Buffer, off: number, len: number) => number;
declare type WriteFn = (data: Buffer, num: number, off: number) => number;
declare type WritenFn = (data: Buffer, num: number, off: number, len: number) => number;
declare type ReadvarFn = (data: Buffer, off: number) => Varint;
declare type WritecbFn = (data: Buffer, num: number, off: number) => number;
interface BufioEntry {
encoding: Encoding;
EncodingError: EncodingErrorCtor;
BufferReader: BufferReaderCtor;
BufferWriter: BufferWriterCtor;
StaticWriter: StaticWriterCtor;
Struct: StructCtor;
read(data: Buffer, zeroCopy?: boolean): BufferReader;
write(size?: number | null): BufferWriter | StaticWriter;
pool(size: number): StaticWriter;
readU: ReadnFn;
readU64: ReadFn;
readU56: ReadFn;
readU48: ReadFn;
readU40: ReadFn;
readU32: ReadFn;
readU24: ReadFn;
readU16: ReadFn;
readU8: ReadFn;
readUBE: ReadnFn;
readU64BE: ReadFn;
readU56BE: ReadFn;
readU48BE: ReadFn;
readU40BE: ReadFn;
readU32BE: ReadFn;
readU24BE: ReadFn;
readU16BE: ReadFn;
readI: ReadnFn;
readI64: ReadFn;
readI56: ReadFn;
readI48: ReadFn;
readI40: ReadFn;
readI32: ReadFn;
readI24: ReadFn;
readI16: ReadFn;
readI8: ReadFn;
readIBE: ReadnFn;
readI64BE: ReadFn;
readI56BE: ReadFn;
readI48BE: ReadFn;
readI40BE: ReadFn;
readI32BE: ReadFn;
readI24BE: ReadFn;
readI16BE: ReadFn;
readFloat: ReadFn;
readFloatBE: ReadFn;
readDouble: ReadFn;
readDoubleBE: ReadFn;
writeU: WritenFn;
writeU64: WriteFn;
writeU56: WriteFn;
writeU48: WriteFn;
writeU40: WriteFn;
writeU32: WriteFn;
writeU24: WriteFn;
writeU16: WriteFn;
writeU8: WriteFn;
writeUBE: WritenFn;
writeU64BE: WriteFn;
writeU56BE: WriteFn;
writeU48BE: WriteFn;
writeU40BE: WriteFn;
writeU32BE: WriteFn;
writeU24BE: WriteFn;
writeU16BE: WriteFn;
writeI: WritenFn;
writeI64: WriteFn;
writeI56: WriteFn;
writeI48: WriteFn;
writeI40: WriteFn;
writeI32: WriteFn;
writeI24: WriteFn;
writeI16: WriteFn;
writeI8: WriteFn;
writeIBE: WritenFn;
writeI64BE: WriteFn;
writeI56BE: WriteFn;
writeI48BE: WriteFn;
writeI40BE: WriteFn;
writeI32BE: WriteFn;
writeI24BE: WriteFn;
writeI16BE: WriteFn;
writeFloat: WriteFn;
writeFloatBE: WriteFn;
writeDouble: WriteFn;
writeDoubleBE: WriteFn;
readVarint: ReadvarFn;
writeVarint: WritecbFn;
sizeVarint(num: number): number;
readVarint2: ReadvarFn;
writeVarint2: WritecbFn;
sizeVarint2(num: number): number;
sliceBytes(data: Buffer, off: number, size: number): Buffer;
readBytes(data: Buffer, off: number, size: number): Buffer;
writeBytes(dst: Buffer, value: Buffer, off: number): number;
readString(data: Buffer, off: number, size: number, enc?: BufferEncoding | null): string;
writeString(dst: Buffer, str: string, off: number, enc?: BufferEncoding | null): number;
realloc(data: Buffer, size: number): Buffer;
copy(data: Buffer): Buffer;
concat(a: Buffer, b: Buffer): Buffer;
sizeVarBytes(data: Buffer): number;
sizeVarlen(len: number): number;
sizeVarString(str: string, enc?: BufferEncoding | null): number;
}
declare const _default: BufioEntry;
export default _default;
export * from './types';