import type { Group, LoadingManager } from 'three'; import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader'; import type { InteractionManager } from '../core/event/global'; /** * @file 待废除 */ /** * @deprecated 即将废除, 请使用 LoaderModule */ declare class ModelLoader { interactionManager: InteractionManager | null; private loadingManager; constructor(loadingManager?: LoadingManager); private initInteractionManager; private addEvent; /** * gltf model loader * @param url * @param openEvents * @param draco * @param decoderPath * @param onLoad * @param onProgress * @param onError * @returns */ loadGLTF(url: string, openEvents?: boolean, draco?: boolean, decoderPath?: string, onLoad?: (result: GLTF) => GLTF, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): Promise; /** * fbx model loader * @param url * @param openEvents 是否打开事件传播 * @param onLoad * @param onProgress * @param onError */ loadFbx(url: string, openEvents?: boolean, onLoad?: (result: Group) => Group, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): Promise>; /** * parse fbx buffer * @param buffer * @param path * @returns */ parseFbxBuffer(buffer: ArrayBuffer | string, path: string): Group; } export default ModelLoader;