import { TypedArray } from 'type-fest';
import { DataChunk } from '../../IViewer.js';
import { Box3 } from 'three';
export declare class VirtualArray {
    chunks: Array<Array<number>>;
    private offsets;
    constructor(chunks: Array<Array<number>>);
    get length(): number;
    get(index: number): number;
    set(index: number, value: number): void;
    findChunkIndex(index: number): number;
    updateOffsets(): void;
}
export declare class ChunkArray extends VirtualArray {
    chunkArray: Array<DataChunk>;
    protected flatArray: TypedArray;
    constructor(chunks: Array<DataChunk>);
    slice(): ChunkArray;
    copyToBuffer(buffer: TypedArray, offset: number): void;
    computeBox3(): Box3;
    protected getFlatArray<T extends TypedArray>(Type: {
        new (length: number): T;
    }): T;
    getFloat32Array(): Float32Array;
    getFloat64Array(): Float64Array;
    getInt16Array(): Int16Array;
    getInt32Array(): Int32Array;
    getUint16Array(): Uint16Array;
    getUint32Array(): Uint32Array;
}
