import { U64I64F64 } from '../util.js';
import { ArithmeticModel, IntegerCompressor, LASWavePacket13, LASpoint10, LASrgba } from './index.js';
import type { Reader } from '../../index.js';
import type { ArithmeticDecoder, ItemReader, LAZContext } from './index.js';
/** Parse LAZ Point 1.0 */
export declare class LAZPoint10v1Reader implements ItemReader {
    readonly dec: ArithmeticDecoder;
    lastItem: LASpoint10;
    lastXDiff: Int32Array;
    lastYDiff: Int32Array;
    lastIncr: number;
    icDx: IntegerCompressor;
    icDy: IntegerCompressor;
    icZ: IntegerCompressor;
    icIntensity: IntegerCompressor;
    icScanAngleRank: IntegerCompressor;
    icPointSourceID: IntegerCompressor;
    mChangedValues: ArithmeticModel;
    mBitByte: (ArithmeticModel | undefined)[];
    mClassification: (ArithmeticModel | undefined)[];
    mUserData: (ArithmeticModel | undefined)[];
    /**  @param dec - the arithmetic decoder */
    constructor(dec: ArithmeticDecoder);
    /**
     * Read in chunk sizes
     * @param _reader - the full data store
     */
    chunkSizes(_reader: Reader): void;
    /** @param item - the first raw item needs to be injected for future reads */
    init(item: DataView): void;
    /**
     * @param item - the current item to be read into
     * @param context - the current context
     */
    read(item: DataView, context: LAZContext): void;
}
/** Parse LAZ GPS Time 1.1v1 */
export declare class LAZgpstime11v1Reader implements ItemReader {
    readonly dec: ArithmeticDecoder;
    mGpstimeMulti: ArithmeticModel;
    mGpstime0diff: ArithmeticModel;
    icGpstime: IntegerCompressor;
    lastItemDiff: number;
    multiExtremeCounter: number;
    lastItem: U64I64F64;
    /** @param dec - the arithmetic decoder */
    constructor(dec: ArithmeticDecoder);
    /**
     * Read in chunk sizes
     * @param _reader - the full data store
     */
    chunkSizes(_reader: Reader): void;
    /** @param item - the first raw item needs to be injected for future reads */
    init(item: DataView): void;
    /** @param item - the current item to be read into */
    read(item: DataView): void;
}
/** Parse LAZ RGB 1.2v1 */
export declare class LAZrgb12v1Reader implements ItemReader {
    readonly dec: ArithmeticDecoder;
    lastItem: LASrgba;
    mByteUsed: ArithmeticModel;
    icRgb: IntegerCompressor;
    /** @param dec - the arithmetic decoder */
    constructor(dec: ArithmeticDecoder);
    /**
     * Read in chunk sizes
     * @param _reader - the full data store
     */
    chunkSizes(_reader: Reader): void;
    /** @param item - the first raw item needs to be injected for future reads */
    init(item: DataView): void;
    /** @param item - the current item to be read into */
    read(item: DataView): void;
}
/** Parse LAZ wavepacket 1.3v1 */
export declare class LAZwavepacket13v1Reader implements ItemReader {
    readonly dec: ArithmeticDecoder;
    lastItem: LASWavePacket13;
    mPacketIndex: ArithmeticModel;
    mOffsetDiff: [ArithmeticModel, ArithmeticModel, ArithmeticModel, ArithmeticModel];
    icOffsetDiff: IntegerCompressor;
    icPacketSize: IntegerCompressor;
    icReturnPoint: IntegerCompressor;
    icXyz: IntegerCompressor;
    lastDiff32: number;
    symLastOffsetDiff: number;
    /**  @param dec - the arithmetic decoder */
    constructor(dec: ArithmeticDecoder);
    /**
     * Read in chunk sizes
     * @param _reader - the full data store
     */
    chunkSizes(_reader: Reader): void;
    /** @param item - the first raw item needs to be injected for future reads */
    init(item: DataView): void;
    /** @param item - the current item to be read into */
    read(item: DataView): void;
}
/** Parse LAZ byte 1.0v1 */
export declare class LAZbyte10v1Reader implements ItemReader {
    readonly dec: ArithmeticDecoder;
    readonly number: number;
    lastItem: Uint8Array;
    icByte: IntegerCompressor;
    /**
     * @param dec - the arithmetic decoder
     * @param number - the number of bytes to read at a time
     */
    constructor(dec: ArithmeticDecoder, number: number);
    /**
     * Read in chunk sizes
     * @param _reader - the full data store
     */
    chunkSizes(_reader: Reader): void;
    /** @param item - the first raw item needs to be injected for future reads */
    init(item: DataView): void;
    /** @param item - the current item to be read into */
    read(item: DataView): void;
}
//# sourceMappingURL=v1.d.ts.map