/// import buffer_core = require('./buffer_core'); export interface BFSBuffer extends NodeBuffer { get(index: number): number; set(index: number, value: number): void; getBufferCore(): buffer_core.BufferCore; getOffset(): number; sliceCopy(start?: number, end?: number): NodeBuffer; } export interface BFSBufferImplementation { new (ab: ArrayBuffer): NodeBuffer; new (str: string, encoding?: string): NodeBuffer; new (size: number): NodeBuffer; new (array: any[]): NodeBuffer; isBuffer(obj: any): boolean; byteLength(string: string, encoding?: string): number; concat(list: NodeBuffer[], totalLength?: number): NodeBuffer; } export declare class Buffer implements BFSBuffer { [idx: number]: number; private data; private offset; length: number; constructor(size: number); constructor(data: any[]); constructor(data: DataView); constructor(data: ArrayBuffer); constructor(data: NodeBuffer); constructor(data: string, encoding?: string); constructor(data: buffer_core.BufferCore, start?: number, end?: number); getBufferCore(): buffer_core.BufferCore; getOffset(): number; set(index: number, value: number): void; get(index: number): number; write(str: string, offset?: number, length?: number, encoding?: string): number; toString(encoding?: string, start?: number, end?: number): string; toJSON(): { type: string; data: number[]; }; toArrayBuffer(): ArrayBuffer; copy(target: NodeBuffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; slice(start?: number, end?: number): NodeBuffer; sliceCopy(start?: number, end?: number): NodeBuffer; fill(value: any, offset?: number, end?: number): void; readUInt8(offset: number, noAssert?: boolean): number; readUInt16LE(offset: number, noAssert?: boolean): number; readUInt16BE(offset: number, noAssert?: boolean): number; readUInt32LE(offset: number, noAssert?: boolean): number; readUInt32BE(offset: number, noAssert?: boolean): number; readInt8(offset: number, noAssert?: boolean): number; readInt16LE(offset: number, noAssert?: boolean): number; readInt16BE(offset: number, noAssert?: boolean): number; readInt32LE(offset: number, noAssert?: boolean): number; readInt32BE(offset: number, noAssert?: boolean): number; readFloatLE(offset: number, noAssert?: boolean): number; readFloatBE(offset: number, noAssert?: boolean): number; readDoubleLE(offset: number, noAssert?: boolean): number; readDoubleBE(offset: number, noAssert?: boolean): number; writeUInt8(value: number, offset: number, noAssert?: boolean): void; writeUInt16LE(value: number, offset: number, noAssert?: boolean): void; writeUInt16BE(value: number, offset: number, noAssert?: boolean): void; writeUInt32LE(value: number, offset: number, noAssert?: boolean): void; writeUInt32BE(value: number, offset: number, noAssert?: boolean): void; writeInt8(value: number, offset: number, noAssert?: boolean): void; writeInt16LE(value: number, offset: number, noAssert?: boolean): void; writeInt16BE(value: number, offset: number, noAssert?: boolean): void; writeInt32LE(value: number, offset: number, noAssert?: boolean): void; writeInt32BE(value: number, offset: number, noAssert?: boolean): void; writeFloatLE(value: number, offset: number, noAssert?: boolean): void; writeFloatBE(value: number, offset: number, noAssert?: boolean): void; writeDoubleLE(value: number, offset: number, noAssert?: boolean): void; writeDoubleBE(value: number, offset: number, noAssert?: boolean): void; static isEncoding(enc: string): boolean; static isBuffer(obj: any): boolean; static byteLength(str: string, encoding?: string): number; static concat(list: NodeBuffer[], totalLength?: number): NodeBuffer; }