import "@babylonjs/loaders/glTF"; import type { ISceneLoaderAsyncResult, ISceneLoaderPlugin, ISceneLoaderPluginAsync, ISceneLoaderPluginExtensions, ISceneLoaderPluginFactory, Scene } from "@babylonjs/core"; import { AssetContainer } from "@babylonjs/core"; export declare class IFCFileLoader implements ISceneLoaderPluginAsync, ISceneLoaderPluginFactory { /** * Defines the name of the plugin. */ name: string; /** * Defines the extension the plugin is able to load. */ extensions: ISceneLoaderPluginExtensions; private _assetContainer; private _ifcManager; constructor(); setupCoordinationMatrix(m: number[]): void; /** * Imports one or more meshes from the loaded IFC data and adds them to the scene * @param meshesNames a string or array of strings of the mesh names that should be loaded from the file * @param scene the scene the meshes should be added to * @param data the IFC data to load * @param rootUrl root url to load from * @returns a promise containing the loaded meshes, particles, skeletons and animations */ importMeshAsync(_meshesNames: any, scene: Scene, data: ArrayBuffer, _rootUrl: string): Promise; /** * Load into an asset container. * @param scene The scene to load into * @param data The data to import * @param rootUrl The root url for scene and resources * @returns The loaded asset container */ loadAssetContainerAsync(scene: Scene, data: any, rootUrl: string): Promise; /** * Instantiates a IFC file loader plugin. * @returns the created plugin */ createPlugin(): ISceneLoaderPluginAsync | ISceneLoaderPlugin; /** * If the data string can be loaded directly. * @returns if the data can be loaded directly */ canDirectLoad(): boolean; /** * Imports all objects from the loaded IFC data and adds them to the scene * @param scene the scene the objects should be added to * @param data the IFC data to load * @param rootUrl root url to load from * @returns a promise which completes when objects have been loaded to the scene */ loadAsync(scene: Scene, data: ArrayBuffer, rootUrl: string): Promise; }