/**
 * Simple Buffer Reader
 */
export declare class SimpleBufferReader {
    /**
     * Whether the endian is little endian when endian is not specified.
     */
    littleEndian: boolean;
    private readonly buf;
    private readonly view;
    private pos;
    private limit;
    /**
     *
     * @param buf buffer to read
     * @param littleEndian Whether the endian when endian is not specified is little endian
     */
    constructor(buf: ArrayBuffer, littleEndian?: boolean);
    private stringify;
    /**
     * Restrict position to read.
     * @param limit Limit
     * @throws RangeError
     */
    setLimit(limit: number): this;
    /**
     * Reset Limit.
     */
    resetLimit(): this;
    /**
     * Get Limit.
     */
    getLimit(): number | null;
    /**
     * Return the current reading position.
     */
    getPos(): number;
    /**
     * Move the current reading position.
     * @param pos Position
     * @throws RangeError
     */
    seek(pos: number): this;
    /**
     * Skip a specific length
     * @param nByte skip length
     * @throws RangeError
     */
    skip(nByte: number): this;
    private checkPos;
    /**
     * Read as ASCII character string.
     * @param length Length to read
     * @throws RangeError
     */
    readString(length: number): string;
    /**
     * Peek as ASCII character string without moving the reading position.
     * @param length Length to read
     * @param pos Read start position
     * @throws RangeError
     */
    peekString(length: number, pos?: number): string;
    /**
     * Slice buffer.
     * @param length Length to read
     * @throws RangeError
     */
    readBuffer(length: number): ArrayBuffer;
    /**
     * Slice buffer without moving the reading position.
     * @param length Length to read
     * @param pos Read start position
     * @throws RangeError
     */
    peekBuffer(length: number, pos?: number): ArrayBuffer;
    /**
     * @throws RangeError
     */
    readInt8(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekInt8(pos?: number): number;
    /**
     * @throws RangeError
     */
    readUint8(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekUint8(pos?: number): number;
    /**
     * @throws RangeError
     */
    readInt16(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekInt16(pos?: number): number;
    /**
     * @throws RangeError
     */
    readInt16LE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekInt16LE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readInt16BE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekInt16BE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readUint16(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekUint16(pos?: number): number;
    /**
     * @throws RangeError
     */
    readUint16LE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekUint16LE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readUint16BE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekUint16BE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readInt32(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekInt32(pos?: number): number;
    /**
     * @throws RangeError
     */
    readInt32LE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekInt32LE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readInt32BE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekInt32BE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readUint32(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekUint32(pos?: number): number;
    /**
     * @throws RangeError
     */
    readUint32LE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekUint32LE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readUint32BE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekUint32BE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readFloat32(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekFloat32(pos?: number): number;
    /**
     * @throws RangeError
     */
    readFloat32LE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekFloat32LE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readFloat32BE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekFloat32BE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readFloat64(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekFloat64(pos?: number): number;
    /**
     * @throws RangeError
     */
    readFloat64LE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekFloat64LE(pos?: number): number;
    /**
     * @throws RangeError
     */
    readFloat64BE(): number;
    /**
     * @param pos Read start position
     * @throws RangeError
     */
    peekFloat64BE(pos?: number): number;
}
