/// import { DataType, NumericDataType } from '..'; import { Primitive } from '../payload_spec/instructions'; export declare type DataTypeCtor = new (options?: TypeOptions) => DataType; export declare type NumericTypeCtor = new (options?: TypeOptions) => NumericDataType; export declare class PosBuffer { private options; private _buffer; private offsetBytes; private offsetBits; private writeBuffers; private writeBitBuffer; constructor(bytes: Buffer | number[], options?: BufferOptions); read(dataType: DataTypeCtor, options?: TypeOptions): Primitive | undefined; write(dataType: DataTypeCtor, value: Primitive, options?: TypeWriteOptions): Buffer; readMany(dataTypes: { type: DataTypeCtor; options?: TypeOptions; }[]): (Primitive | undefined)[]; skip(bytes: number): PosBuffer; peek(instruction: new (options?: any) => DataType, byteOffset: number, options?: TypeOptions): Primitive; pad(): PosBuffer; slice(start: number, end?: number): PosBuffer; toString(encoding?: Encoding, start?: number, end?: number): string; get mode(): Mode; set mode(endianness: Mode); get length(): number; get buffer(): Buffer; get offset(): { bytes: number; bits: number; }; set offset(offset: { bytes: number; bits: number; }); get finished(): boolean; flipBits(bitPos: number, value: number): void; private pushBitBuffer; private addOffset; private updateOffset; } export declare type Encoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'binary' | 'hex' | 'latin1'; export interface BufferOptions { endianness?: Mode; offset?: { bytes: number; bits: number; }; lenient?: boolean; } export interface TypeOptions { size?: number; encoding?: Encoding; terminator?: string | number; dp?: number; mode?: Mode; then?: (v: any) => Primitive; before?: (v: any) => Primitive; } export interface TypeWriteOptions { encoding?: Encoding; terminator?: string | number; size?: number; before?: (v: any) => Primitive; } export declare enum Mode { BE = 0, LE = 1 }