import { Loader, LoadingManager, Material, Object3D } from "three"; import { GLTFLoader, GLTFLoaderPlugin, GLTFParser } from "three/examples/jsm/loaders/GLTFLoader.js"; import { IContext } from "../engine_types.js"; export declare namespace MaterialX { /** * Utility function to load a MaterialX material from a URL. This can be used in your own code to load MaterialX materials outside of the glTF loading process. The URL should point to a MaterialX XML file. */ function loadFromUrl(urlOrXML: string, opts?: { url?: string; loadingManager?: LoadingManager; materialNameOrIndex?: number | string; }): Promise; } export declare class MaterialXLoader extends Loader { loadAsync(url: string, onProgress?: ((event: ProgressEvent) => void) | undefined): Promise; load(url: string, onLoad: (data: Object3D) => void, onProgress?: ((event: ProgressEvent) => void) | undefined, onError?: ((err: unknown) => void) | undefined): void; private onLoaded; } export declare class NEEDLE_materialx implements GLTFLoaderPlugin { private readonly context; private readonly loader; private readonly url; private readonly parser; get name(): string; constructor(context: IContext, loader: GLTFLoader, url: string, parser: GLTFParser); private mtlxLoader?; beforeRoot(): Promise; loadMaterial(index: any): Promise> | null; }