/** @format */
import { InputBuffer } from '../../common/input-buffer.js';
/**
 * Class representing a TIFF bit reader.
 */
export declare class TiffBitReader {
    /**
     * Bit masks used for reading bits.
     * @private
     * @readonly
     */
    private static readonly _bitMask;
    /**
     * Buffer for storing bits.
     * @private
     */
    private _bitBuffer;
    /**
     * Position in the bit buffer.
     * @private
     */
    private _bitPosition;
    /**
     * Input buffer for reading data.
     * @private
     */
    private _input;
    /**
     * Create a TiffBitReader.
     * @param {InputBuffer<Uint8Array>} input - The input buffer to read from.
     */
    constructor(input: InputBuffer<Uint8Array>);
    /**
     * Read a number of bits from the input stream.
     * @param {number} numBits - The number of bits to read.
     * @returns {number} The bits read from the input stream.
     */
    readBits(numBits: number): number;
    /**
     * Read a byte from the input stream.
     * @returns {number} The byte read from the input stream.
     */
    readByte(): number;
    /**
     * Flush the rest of the bits in the buffer so the next read starts at the next byte.
     * @returns {number} The new bit position (always 0).
     */
    flushByte(): number;
}
