import { KaitaiStream, StreamBufferType } from './kaitai-stream'; export declare class KaitaiStreamWriter extends KaitaiStream { options: { /** * True to check that value we are trying to write fit the available size. * For example it will throw an error if trying to write 0xFFFF on 1 byte. */ checkValueSize: boolean; }; /** * @param arrayBuffer ArrayBuffer to read from. * @param byteOffset Offset from arrayBuffer beginning for the KaitaiStream. */ constructor(arrayBuffer?: StreamBufferType, byteOffset?: number, isBigEndian?: boolean, options?: { /** * True to check that value we are trying to write fit the available size. * For example it will throw an error if trying to write 0xFFFF on 1 byte. */ checkValueSize: boolean; }); /** * Utility function to merge byte arrays * @param data */ static mergeArrays(...data: Uint8Array[]): Uint8Array; static create(size: number): KaitaiStreamWriter; get toBytes(): Uint8Array; /** * * @param value * @param type * @param size size in bits */ write(value: number | boolean, type: 'f' | 'u' | 's' | 'b', size: number): any; /** * Append value on 1 byte * @param value */ writeByte(value: number): this; writeU(value: number, byteSize: number): this; writeF(value: any, byteSize: number): this; writeS(value: any, byteSize: number): this; /** * @deprecated flush bit calls are now useless * @param v */ flushBits(): void; private _setBitsAtCurrentPosition; _setBit(value: boolean): this; /** * Write bit per bit * @param v * @param n */ writeB(v: number | boolean, n?: number): this; forwardBit(): void; /** * * @param v true or false * @param n number of bits */ writeBitsBoolean(v: boolean, n: number): this; /** * Append given bytes to stream * @param data * @param size */ writeBytes(data: Uint8Array, size?: number): this; /** * Check that buffer size has enaugh room to add the byteSize bytes * Will resize buffer if not * @param byteSize */ private _checkSize; resize(newSize: number): void; }