/** * Provides functions for convenient reading and writing of ArrayBuffers * * The set*-functions write data at specified offsets while * the write* functions write data at the current cursor position * and increment it. */ export declare class BufferAccess { /** * Create new buffer of length bytes and return an BufferAccess object referencing the new buffer. */ static create(length: number): BufferAccess; /** * Return BufferAccess referencing the buffer slice that is used by the passed Uint8Array */ static createFromUint8Array(uint8Array: Uint8Array): BufferAccess; static createFromNodeBuffer(buffer: Buffer): BufferAccess; private cursor; private readonly view; private readonly ui8a; private constructor(); length(): number; rewind(): void; asUint8Array(): Uint8Array; bytes(): Generator; /** * Return slice that references the same buffer */ slice(offset: number, length?: number): BufferAccess; /** * Return chunks of specified size that reference the same buffer * * There will be no padding for the last chunk. */ chunks(chunkSize: number): BufferAccess[]; /** * Return chunks of specified size and pad last chunk * * If the last chunk required padding, it will be a copy while the other chunks are always references. */ chunksPadded(chunkSize: number, padding?: number): BufferAccess[]; /** * Return copy that references a new buffer */ copy(offset?: number, length?: number): BufferAccess; asHexDump(): string; asAsciiString(): string; extractZeroTerminatedString(): string; setUint8(offset: number, i: number): void; writeUint8(i: number): void; getUint8(offset: number): number; setUint16Le(offset: number, i: number): void; writeUint16Le(i: number): void; getUint16Le(offset: number): number; getInt16Le(offset: number): number; setUint16Be(offset: number, i: number): void; writeUint16Be(i: number): void; getUint16Be(offset: number): number; setUint32Le(offset: number, i: number): void; writeUint32Le(i: number): void; getUint32Le(offset: number): number; setUint32Be(offset: number, i: number): void; writeUint32Be(i: number): void; getFloat32Le(offset: number): number; setFloat32Le(offset: number, f: number): void; writeFloat32Le(f: number): void; setAsciiString(offset: number, string: string, paddingLength?: number, paddingCharCode?: number): void; writeAsciiString(string: string, paddingLength?: number, paddingCharCode?: number): void; /** * Copy the content of the passed BufferAccess into offset */ setBa(offset: number, sourceBa: BufferAccess): void; writeBa(sourceBa: BufferAccess): void; /** * If needle is an empty string, true will be returned */ containsDataAt(offset: number, needle: string | number[]): boolean; }