import { Vector3 } from 'three'; import { SharedGeometry } from './SharedGeometry'; import { InstanceGeometry } from './InstanceGeometry'; import { ElementData } from './ElementData'; import { SceneStats } from './SceneStats'; import { LZMA as LzmaWasm } from 'lzma-wasm/src/index'; type LzmaWeb = { decompress: (data: Uint8Array) => Promise; }; type LzmaWasmEngine = LzmaWasm.Engine; export interface SceneGrid { name: string; verts: number[]; } export interface SceneLevel { name: string; absoluteElevation: number; elevation: number; refIdx: number; } export interface SceneOrigin { isOriginSet: boolean; origin: Vector3; } export declare class SceneLoader { readonly tag = "SceneLoader"; private readonly origin; private selfOrigin; isWrongOrigin: boolean; wrongOriginDistance: number; stats: SceneStats; levels: SceneLevel[]; grids: SceneGrid[]; elementDatas: Map; instanceGeomIds: Set; instanceGeoms: Map; sharedGeoms: Map; buffers: Set; initialInstanceCount: number; private lzma; private needFixElementsData; private loadProgress; private onProgressCallback; private useWasmLzma; constructor(lzma: LzmaWeb | LzmaWasmEngine, origin: SceneOrigin, useWasmLzma?: boolean); onProgress(onProgressCallback: Function): this; updateProgress(percent: number): void; processGeomData(data: any[], id: string, geomFileNumber: number): Promise; processGeometry(data: ArrayBuffer, id: string, geomFileNumber: number, geomFileTotal: number, modelProgress: number, callbackResult: Function, callbackError: Function): Promise; private mergeInstanceGeometry2; private mergeInstanceGeometry; private insertBuffers; fixGeomData(elementsData: Map): void; generateIndicesMap(sharedGeoms: Map, elementDatas: Map): void; } export {};