import { SerializationContext } from "./engine_serialization_core.js"; import { Context } from "./engine_setup.js"; import type { ConstructorConcrete, GLTF, Model, SourceIdentifier, UIDProvider } from "./engine_types.js"; import { NEEDLE_components } from "./extensions/NEEDLE_components.js"; export interface INeedleGltfLoader { createBuiltinComponents(context: Context, gltfId: SourceIdentifier, gltf: GLTF, seed: number | null | UIDProvider, extension?: NEEDLE_components): Promise; writeBuiltinComponentData(comp: object, context: SerializationContext): any; parseSync(context: Context, data: string | ArrayBuffer, path: string, seed: number | UIDProvider | null): Promise; loadSync(context: Context, url: string, sourceId: string, seed: number | UIDProvider | null, prog?: (prog: ProgressEvent) => void): Promise; } export declare function getLoader(): INeedleGltfLoader; export declare function registerLoader(loader: ConstructorConcrete): void;