import { _InBuffer } from './in-buffer';
/**
 * Provides a circular output buffer for decompressed data with efficient write and copy helpers.
 *
 * @private
 */
export declare class _DecompressedOutput {
    constructor();
    /**
     * Size of the circular output buffer.
     *
     * @private
     */
    static _dOutSize: number;
    /**
     * Bit mask used to wrap output buffer indices.
     *
     * @private
     */
    static _dOutMask: number;
    _dOutput: number[];
    _end: number;
    _usedBytes: number;
    /**
     * Returns the remaining free capacity in the output ring buffer.
     *
     * @private
     * @returns {number} unusedBytes.
     */
    readonly _unusedBytes: number;
    /**
     * Writes a single byte into the ring buffer and advances the write position.
     *
     * @private
     * @param {number} b Byte to write.
     * @returns {void} nothing.
     */
    _write(b: number): void;
    /**
     * Copies a back reference of the given length and distance from previously written output.
     *
     * @private
     * @param {number} length Number of bytes to copy.
     * @param {number} distance Distance back from current position.
     * @returns {void} nothing.
     */
    _writeLD(length: number, distance: number): void;
    /**
     * Copies up to the requested byte count from the input buffer into the ring buffer with wrap handling.
     *
     * @private
     * @param {_InBuffer} input Input bit buffer.
     * @param {number} length Maximum number of bytes to copy.
     * @returns {number} copied Number of bytes copied.
     */
    _copyFrom(input: _InBuffer, length: number): number;
    /**
     * Copies up to the requested number of bytes from the ring buffer into the provided output array
     * and decreases the used byte count.
     *
     * @private
     * @param {number[]} output Target output array.
     * @param {number} offset Offset in the target array where copying begins.
     * @param {number} length Requested number of bytes to copy.
     * @returns {{count: number, data: number[]}} result Object containing copied count and output array.
     */
    _copyTo(output: number[], offset: number, length: number): {
        count: number;
        data: number[];
    };
}
