import type * as THREE from 'three'; import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader'; export declare class TextureDeduplicator { private hashMap; private _hash; run(scene: THREE.Object3D): Promise; getStats(): { uniqueTextures: number; }; } declare class RuntimeModelCache { private cache; private pending; has(url: string): boolean; set(url: string, original: THREE.Object3D, parserJson?: Record): void; clone(url: string): { scene: THREE.Object3D; parser: Record; } | null; setPending(url: string, p: Promise): void; getPending(url: string): Promise | undefined; deletePending(url: string): void; dispose(url: string): void; stats(): { cachedModels: number; }; } export declare const runtimeCache: RuntimeModelCache; export interface LoadGLTFOptions { url: string; onLoad?: (gltf: GLTF) => void; onProgress?: (event: ProgressEvent) => void; onError?: (error: any) => void; dracoPath?: string; } export {};