/**
 * DataView wrapper for serializing MMD data
 */
export declare class MmdDataSerializer {
    private readonly _dataView;
    private readonly _encoder;
    private _offset;
    /**
     * Creates MMD data serializer
     * @param arrayBuffer ArrayBuffer to serialize
     */
    constructor(arrayBuffer: ArrayBufferLike);
    /**
     * Current offset in the buffer
     */
    get offset(): number;
    set offset(value: number);
    /**
     * Writes a uint8 value
     * @param value Uint8 value to write
     */
    setUint8(value: number): void;
    /**
     * Writes a uint8 array
     * @param values Uint8 array to write
     */
    setUint8Array(values: ArrayLike<number>): void;
    /**
     * Writes a int8 value
     * @param value Int8 value to write
     */
    setInt8(value: number): void;
    /**
     * Writes a int8 array
     * @param values Int8 array to write
     */
    setInt8Array(values: ArrayLike<number>): void;
    /**
     * Writes a uint16 value
     * @param value Uint16 value to write
     */
    setUint16(value: number): void;
    /**
     * Writes a uint16 array
     * @param values Uint16 array to write
     */
    setUint16Array(values: ArrayLike<number>): void;
    /**
     * Writes a uint32 value
     * @param value Uint32 value to write
     */
    setUint32(value: number): void;
    /**
     * Writes a uint32 array
     * @param values Uint32 array to write
     */
    setUint32Array(values: ArrayLike<number>): void;
    /**
     * Writes a int32 value
     * @param value Int32 value to write
     */
    setInt32(value: number): void;
    /**
     * Writes a int32 array
     * @param values Int32 array to write
     */
    setInt32Array(values: ArrayLike<number>): void;
    /**
     * Writes a float32 value
     * @param value Float32 value to write
     */
    setFloat32(value: number): void;
    /**
     * Writes a float32 array
     * @param values Float32 array to write
     */
    setFloat32Array(values: ArrayLike<number>): void;
    /**
     * Writes a string as UTF-8
     * @param value String to write
     */
    setString(value: string): void;
    /**
     * The number of bytes available
     */
    get bytesAvailable(): number;
    /**
     * Compute byte alignment padding
     * @param offset Offset
     * @param elementSize Element size
     * @returns Padding
     */
    static Padding(offset: number, elementSize: number): number;
}
