/**
 * The Decompressor class implements the algorithm for inflating a Nintendo 64 Zelda ROM.
 */
export default class Decompressor {
    private readonly _buffer;
    private readonly _in;
    /**
     * Constructs a Decompressor instance
     * @param buffer Instance of ArrayBuffer containing the input ROM.
     */
    constructor(buffer: ArrayBuffer);
    /**
     * Writes a DMA record to the output buffer.
     * @param out A Writer instance to write the resulting DMA record to.
     * @param index The target index in the output DMA table.
     * @param record The DMA record to write.
     * @private
     */
    private _writeDmaRecord;
    /**
     * Inflates the input ROM and returns the decompressed ROM buffer.
     * @returns ArrayBuffer containing the decompressed ROM.
     */
    inflate(): {
        data: ArrayBuffer;
        exclusions: number[];
    };
    /**
     * Performs decompression on the source data and writes the decompressed data to the destination buffer.
     * @param src Array starting at the source data.
     * @param dst Array starting at the destination where decompressed data should be written.
     * @param size The size of the decompressed data.
     * @private
     */
    private static _decompress;
}
