import { Endianness } from "./endianness"; type TupleOf = R["length"] extends N ? R : TupleOf; type Tuple = N extends N ? number extends N ? T[] : TupleOf : never; /** * DataView wrapper for deserializing MMD data */ export declare class MmdDataDeserializer extends Endianness { private readonly _dataView; private _decoder; private _offset; /** * Creates MMD data deserializer * @param arrayBuffer ArrayBuffer to deserialize */ constructor(arrayBuffer: ArrayBufferLike); /** * Current offset in the buffer */ get offset(): number; set offset(value: number); /** * Read a uint8 value * @returns Uint8 value */ getUint8(): number; /** * Read a int8 value * @returns Int8 value */ getInt8(): number; /** * Read a uint16 value * @returns Uint16 value */ getUint16(): number; /** * Read a uint16 array * @param dest Destination array */ getUint16Array(dest: Uint16Array): void; /** * Read a int16 value * @returns Int16 value */ getInt16(): number; /** * Read a uint32 value * @returns Uint32 value */ getUint32(): number; /** * Read a int32 value * @returns Int32 value */ getInt32(): number; /** * Read a float32 value * @returns Float32 value */ getFloat32(): number; /** * Read a float32 tuple * @param length Tuple length * @returns Float32 tuple */ getFloat32Tuple(length: N): Tuple; /** * Initializes TextDecoder with the specified encoding * @param encoding Encoding */ initializeTextDecoder(encoding: string): void; /** * Decode the string in the encoding determined by the initializeTextDecoder method * @param length Length of the string in bytes * @param trim Whether to trim the string, usally used in Shift-JIS encoding * @returns Decoded string */ getDecoderString(length: number, trim: boolean): string; /** * Read a utf-8 string * @param length Length of the string in bytes * @returns Utf-8 string */ getSignatureString(length: number): string; /** * The number of bytes available */ get bytesAvailable(): number; } export {};