/**
 * Byte swaps the endianness of a 32-bit integer.
 * @param value The 32-bit integer to swap.
 */
export declare function swap32(value: number): number;
/**
 * Byte swaps the endianness of a 16-bit integer.
 * @param value The 16-bit integer to swap.
 */
export declare function swap16(value: number): number;
export declare function parse32(src: Uint8Array, offset: number): number;
/**
 * This function exists to pwn JavaScript's untyped 64-bit signed integers to 32-bit unsigned GIGACHAD integers.
 * @param value Weak virgin 64-bit signed integer.
 * @returns Strong GIGACHAD 32-bit unsigned integer.
 */
export declare function u32(value: number): number;
/**
 * SeekableBuffer implements a wrapper over ArrayBuffer that implements seeking capabilities for sequential read/writes.
 */
declare class SeekableBuffer {
    protected _buffer: ArrayBuffer;
    protected _view: DataView;
    protected _cursor: number;
    /**
     * Constructs instance of SeekableBuffer.
     * @param buffer The ArrayBuffer to operate on.
     */
    constructor(buffer: ArrayBuffer);
    /**
     * Moves the cursor to a position on the buffer.
     * @param pos The amount of places to move the cursor relative to the whence argument.
     * @param whence Specifies the relation of where the cursor moves. "begin" moves it from the beginning of the
     *               buffer, "current" moves it relative to the cursor's current position, and "end" moves it relative
     *               to the end of the buffer. Defaults to "current".
     * @returns The old position of the cursor.
     */
    seek(pos: number, whence?: "begin" | "current" | "end"): number;
    /**
     * Checks whether the cursor has passed the end of the buffer.
     * @returns true if the end of buffer is reached, false if not.
     */
    eof(): boolean;
}
/**
 * Reader implements sequential read operations on an ArrayBuffer.
 */
export declare class Reader extends SeekableBuffer {
    constructor(buffer: ArrayBuffer);
    readUint8(offset?: number): number;
    readUint16(offset?: number): number;
    readUint24(offset?: number): number;
    readInt32(offset?: number, littleEndian?: boolean): number;
    readUint32(offset?: number, bigEndian?: boolean): number;
    readBytes(length: number, offset?: number): ArrayBuffer;
}
/**
 * Writer implements sequential write operations on an ArrayBuffer.
 */
export declare class Writer extends SeekableBuffer {
    constructor(buffer: ArrayBuffer);
    writeUint32(value: number, offset?: number, littleEndian?: boolean): void;
    writeBytes(data: ArrayBuffer, offset?: number, size?: number): void;
    fill(value: number, size: number, offset?: number): void;
}
export {};
