import { AnimationClip, Camera, Group, Loader, LoadingManager } from '../../../src/Three'; import { DRACOLoader } from './DRACOLoader'; import { DDSLoader } from './DDSLoader'; export interface GLTF { animations: AnimationClip[]; scene: Group; scenes: Group[]; cameras: Camera[]; asset: { copyright?: string; generator?: string; version?: string; minVersion?: string; extensions?: any; extras?: any; }; parser: GLTFParser; userData: any; } export class GLTFLoader extends Loader { constructor( manager?: LoadingManager ); dracoLoader: DRACOLoader | null; ddsLoader: DDSLoader | null; load( url: string, onLoad: ( gltf: GLTF ) => void, onProgress?: ( event: ProgressEvent ) => void, onError?: ( event: ErrorEvent ) => void ) : void; setDRACOLoader( dracoLoader: DRACOLoader ): GLTFLoader; setDDSLoader( ddsLoader: DDSLoader ): GLTFLoader; parse( data: ArrayBuffer | string, path: string, onLoad: ( gltf: GLTF ) => void, onError?: ( event: ErrorEvent ) => void ) : void; } export class GLTFParser { json: any; getDependency: ( type: string, index: number ) => Promise; getDependencies: ( type: string ) => Promise; }