You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					756 lines
				
				26 KiB
			
		
		
			
		
	
	
					756 lines
				
				26 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								/// <reference types="node" />
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Object interface for constructing new SmartBuffer instances.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								interface SmartBufferOptions {
							 | 
						||
| 
								 | 
							
								    encoding?: BufferEncoding;
							 | 
						||
| 
								 | 
							
								    size?: number;
							 | 
						||
| 
								 | 
							
								    buff?: Buffer;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								declare class SmartBuffer {
							 | 
						||
| 
								 | 
							
								    length: number;
							 | 
						||
| 
								 | 
							
								    private _encoding;
							 | 
						||
| 
								 | 
							
								    private _buff;
							 | 
						||
| 
								 | 
							
								    private _writeOffset;
							 | 
						||
| 
								 | 
							
								    private _readOffset;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a new SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    constructor(options?: SmartBufferOptions);
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param size { Number } The size of the internal Buffer.
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for strings.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { SmartBuffer }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    static fromSize(size: number, encoding?: BufferEncoding): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a new SmartBuffer instance with the provided Buffer and optional encoding.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param buffer { Buffer } The Buffer to use as the internal Buffer value.
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for strings.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { SmartBuffer }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    static fromBuffer(buff: Buffer, encoding?: BufferEncoding): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a new SmartBuffer instance with the provided SmartBufferOptions options.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    static fromOptions(options: SmartBufferOptions): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Type checking function that determines if an object is a SmartBufferOptions object.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    static isSmartBufferOptions(options: SmartBufferOptions): options is SmartBufferOptions;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an Int8 value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readInt8(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an Int16BE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readInt16BE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an Int16LE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readInt16LE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an Int32BE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readInt32BE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an Int32LE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readInt32LE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a BigInt64BE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { BigInt }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readBigInt64BE(offset?: number): bigint;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a BigInt64LE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { BigInt }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readBigInt64LE(offset?: number): bigint;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an Int8 value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeInt8(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an Int8 value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertInt8(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an Int16BE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeInt16BE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an Int16BE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertInt16BE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an Int16LE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeInt16LE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an Int16LE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertInt16LE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an Int32BE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeInt32BE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an Int32BE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertInt32BE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an Int32LE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeInt32LE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an Int32LE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertInt32LE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a BigInt64BE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { BigInt } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeBigInt64BE(value: bigint, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a BigInt64BE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { BigInt } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertBigInt64BE(value: bigint, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a BigInt64LE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { BigInt } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeBigInt64LE(value: bigint, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a Int64LE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { BigInt } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertBigInt64LE(value: bigint, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an UInt8 value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readUInt8(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an UInt16BE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readUInt16BE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an UInt16LE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readUInt16LE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an UInt32BE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readUInt32BE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an UInt32LE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readUInt32LE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a BigUInt64BE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { BigInt }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readBigUInt64BE(offset?: number): bigint;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a BigUInt64LE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { BigInt }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readBigUInt64LE(offset?: number): bigint;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an UInt8 value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeUInt8(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an UInt8 value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertUInt8(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an UInt16BE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeUInt16BE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an UInt16BE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertUInt16BE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an UInt16LE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeUInt16LE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an UInt16LE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertUInt16LE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an UInt32BE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeUInt32BE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an UInt32BE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertUInt32BE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes an UInt32LE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeUInt32LE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts an UInt32LE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertUInt32LE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a BigUInt64BE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeBigUInt64BE(value: bigint, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a BigUInt64BE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertBigUInt64BE(value: bigint, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a BigUInt64LE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeBigUInt64LE(value: bigint, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a BigUInt64LE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertBigUInt64LE(value: bigint, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an FloatBE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readFloatBE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an FloatLE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readFloatLE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a FloatBE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeFloatBE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a FloatBE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertFloatBE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a FloatLE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeFloatLE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a FloatLE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertFloatLE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an DoublEBE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readDoubleBE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads an DoubleLE value from the current read position or an optionally provided offset.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read data from (optional)
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readDoubleLE(offset?: number): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a DoubleBE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeDoubleBE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a DoubleBE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertDoubleBE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a DoubleLE value to the current write position (or at optional offset).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeDoubleLE(value: number, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a DoubleLE value at the given offset value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Number } The value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the value at.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertDoubleLE(value: number, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a String from the current read position.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for
							 | 
						||
| 
								 | 
							
								     *             the string (Defaults to instance level encoding).
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { String }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readString(arg1?: number | BufferEncoding, encoding?: BufferEncoding): string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a String
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { String } The String value to insert.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to insert the string at.
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertString(value: string, offset: number, encoding?: BufferEncoding): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a String
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { String } The String value to write.
							 | 
						||
| 
								 | 
							
								     * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use.
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeString(value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a null-terminated String from the current read position.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { String }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readStringNT(encoding?: BufferEncoding): string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a null-terminated String.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { String } The String value to write.
							 | 
						||
| 
								 | 
							
								     * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertStringNT(value: string, offset: number, encoding?: BufferEncoding): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a null-terminated String.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { String } The String value to write.
							 | 
						||
| 
								 | 
							
								     * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeStringNT(value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a Buffer from the internal read position.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param length { Number } The length of data to read as a Buffer.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { Buffer }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readBuffer(length?: number): Buffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a Buffer to the current write position.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Buffer } The Buffer to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the Buffer to.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertBuffer(value: Buffer, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a Buffer to the current write position.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Buffer } The Buffer to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the Buffer to.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeBuffer(value: Buffer, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a null-terminated Buffer from the current read poisiton.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { Buffer }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readBufferNT(): Buffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a null-terminated Buffer.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Buffer } The Buffer to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the Buffer to.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    insertBufferNT(value: Buffer, offset: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a null-terminated Buffer.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Buffer } The Buffer to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the Buffer to.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return this
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    writeBufferNT(value: Buffer, offset?: number): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Clears the SmartBuffer instance to its original empty state.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    clear(): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets the remaining data left to be read from the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    remaining(): number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets the current read offset value of the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								    * Sets the read offset value of the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								    *
							 | 
						||
| 
								 | 
							
								    * @param offset { Number } - The offset value to set.
							 | 
						||
| 
								 | 
							
								    */
							 | 
						||
| 
								 | 
							
								    readOffset: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets the current write offset value of the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { Number }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								    * Sets the write offset value of the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								    *
							 | 
						||
| 
								 | 
							
								    * @param offset { Number } - The offset value to set.
							 | 
						||
| 
								 | 
							
								    */
							 | 
						||
| 
								 | 
							
								    writeOffset: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets the currently set string encoding of the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { BufferEncoding } The string Buffer encoding currently set.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								    * Sets the string encoding of the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								    *
							 | 
						||
| 
								 | 
							
								    * @param encoding { BufferEncoding } The string Buffer encoding to set.
							 | 
						||
| 
								 | 
							
								    */
							 | 
						||
| 
								 | 
							
								    encoding: BufferEncoding;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return { Buffer } The Buffer value.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly internalBuffer: Buffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets the value of the internal managed Buffer (Includes managed data only)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param { Buffer }
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    toBuffer(): Buffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets the String value of the internal managed Buffer
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding).
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    toString(encoding?: BufferEncoding): string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Destroys the SmartBuffer instance.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    destroy(): SmartBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Handles inserting and writing strings.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { String } The String value to insert.
							 | 
						||
| 
								 | 
							
								     * @param isInsert { Boolean } True if inserting a string, false if writing.
							 | 
						||
| 
								 | 
							
								     * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use.
							 | 
						||
| 
								 | 
							
								     * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private _handleString;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Handles writing or insert of a Buffer.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param value { Buffer } The Buffer to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to write the Buffer to.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private _handleBuffer;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Ensures that the internal Buffer is large enough to read data.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param length { Number } The length of the data that needs to be read.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset of the data that needs to be read.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private ensureReadable;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Ensures that the internal Buffer is large enough to insert data.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param dataLength { Number } The length of the data that needs to be written.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset of the data to be written.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private ensureInsertable;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Ensures that the internal Buffer is large enough to write data.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param dataLength { Number } The length of the data that needs to be written.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset of the data to be written (defaults to writeOffset).
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private _ensureWriteable;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Ensures that the internal Buffer is large enough to write at least the given amount of data.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param minLength { Number } The minimum length of the data needs to be written.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private _ensureCapacity;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Reads a numeric number value using the provided function.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @typeparam T { number | bigint } The type of the value to be read
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with.
							 | 
						||
| 
								 | 
							
								     * @param byteSize { Number } The number of bytes read.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @returns { T } the number value
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private _readNumberValue;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Inserts a numeric number value based on the given offset and value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @typeparam T { number | bigint } The type of the value to be written
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
							 | 
						||
| 
								 | 
							
								     * @param byteSize { Number } The number of bytes written.
							 | 
						||
| 
								 | 
							
								     * @param value { T } The number value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } the offset to write the number at (REQUIRED).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @returns SmartBuffer this buffer
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private _insertNumberValue;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Writes a numeric number value based on the given offset and value.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @typeparam T { number | bigint } The type of the value to be written
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
							 | 
						||
| 
								 | 
							
								     * @param byteSize { Number } The number of bytes written.
							 | 
						||
| 
								 | 
							
								     * @param value { T } The number value to write.
							 | 
						||
| 
								 | 
							
								     * @param offset { Number } the offset to write the number at (REQUIRED).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @returns SmartBuffer this buffer
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    private _writeNumberValue;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export { SmartBufferOptions, SmartBuffer };
							 |