import * as THREE from 'three'; import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; import type { LoadedModel } from '../types.js'; /** Decoder/transcoder wiring for {@link createGLTFLoader}: DRACO, KTX2, and Meshopt support. */ export interface GLTFLoaderOptions { /** DRACO decoder path (CDN or local). Enables compressed-mesh support. */ draco?: boolean | string; /** KTX2 transcoder path; requires a renderer to detect GPU texture support. */ ktx2?: string; renderer?: THREE.WebGLRenderer; /** Enable EXT_meshopt_compression decoding. */ meshopt?: boolean; } /** * Build a `GLTFLoader` with optional DRACO, KTX2, and Meshopt decoders. * Decoder paths default to CDN-hosted versions; pass local paths for * offline builds. * * @param options - Which decoders to wire and where their binaries live. * @returns A configured `GLTFLoader`. * @remarks KTX2 GPU-format detection needs the `renderer`; decoders may run * their own internal workers, so loading stays off the render thread. */ export declare function createGLTFLoader(options?: GLTFLoaderOptions): GLTFLoader; /** * Load a `.glb`/`.gltf` file into the normalized `LoadedModel` shape. * Without `options` a shared plain loader is reused; with `options` a * dedicated configured loader is built for the call. * * @param url - Model URL. * @param options - Decoder wiring when the asset is compressed. * @returns Scene root, animation clips, cameras, and the asset metadata. * @see {@link loadModel} for the cached, format-dispatched variant. */ export declare function loadGLTF(url: string, options?: GLTFLoaderOptions): Promise; //# sourceMappingURL=gltf.d.ts.map