import { Vector3 } from 'three'; import { ElementData } from './ElementData'; import { SharedGeometry } from './SharedGeometry'; import { InstanceGeometry } from './InstanceGeometry'; import { SceneGrid, SceneLevel, SceneLoader } from './SceneLoader'; import { SceneStats } from './SceneStats'; import * as protobuf from 'protobufjs'; export declare const sceneRoot = "tangl-viewer-scene"; export interface SceneLoaderCacheCommon { id: string; origin: Vector3; levels: SceneLevel[]; grids: SceneGrid[]; stats: SceneStats; isWrongOrigin: boolean; wrongOriginDistance: number; elementDatas: Map; initialInstanceCount: number; initialInstanceRawCount: number; } export interface SceneLoaderCacheShared { sharedGeoms: Map; } export interface SceneLoaderCacheInstance { instanceGeoms: Map; } export declare class SceneLoaderPB2 { readonly tag = "SceneLoaderCache"; SceneLoaderCacheCommonMessage: protobuf.Type; SceneLoaderCacheSharedMessage: protobuf.Type; SceneLoaderCacheInstanceMessage: protobuf.Type; buffers: Set; maxSceneCacheFiles: number; maxChunkByteSize: number; initProtobuf(maxSceneCacheFiles?: number, maxChunkByteSize?: number): Promise; static clearAllCache(): Promise; fetchGeometry(guid: string): Promise<{ common: SceneLoaderCacheCommon; shared: SceneLoaderCacheShared; instance: SceneLoaderCacheInstance; buffers: Set; } | undefined>; cacheGeometry(guid: string, origin: Vector3, sceneLoader: SceneLoader): Promise; private writeCommon; private writeShared; private writeInstance; private removeOldCache; private serializeSceneLoaderCacheCommon; private serializeSceneLoaderCacheShared; private serializeSceneLoaderCacheInstance; private deserializeSceneLoaderCacheCommon; private deserializeSceneLoaderCacheShared; private deserializeSceneLoaderCacheInstance; }