import { ArithmeticModel } from './index.js';
import type { ArithmeticDecoder, LAZContext } from './index.js';
/**
 * https://github.com/LASzip/LASzip/blob/master/src/integercompressor.cpp
 */
export declare class IntegerCompressor {
    #private;
    private dec;
    private bits;
    private contexts;
    private bitsHigh;
    private range;
    corrMin: number;
    corrMax: number;
    /**
     * @param dec - the arithmetic decoder
     * @param bits - the number of bits
     * @param contexts - the number of contexts
     * @param bitsHigh - the number of bits for the high bits
     * @param range - the range
     */
    constructor(dec: ArithmeticDecoder, bits?: number, // U32
    contexts?: number, // U32
    bitsHigh?: number, // U32
    range?: number);
    /**
     * Get the K value in the Compressor
     * @returns - the current k value
     */
    getK(): number;
    /** Initialize the decompressor */
    initDecompressor(): void;
    /**
     * @param pred - the predicted value
     * @param context - the context
     * @returns - the decompressed value
     */
    decompress(pred: number, context?: LAZContext): number;
    /**
     * @param mBits - the arithmetic model
     * @returns - the corrector
     */
    readCorrector(mBits: ArithmeticModel): number;
}
//# sourceMappingURL=integerCompressor.d.ts.map