import * as THREE from "three";
import type { ModelLoadContext, ModelLoadFromBufferContext } from "./BaseModelLoader";
import { BaseModelLoader } from "./BaseModelLoader";
/**
 * glTF / GLB model loader wrapping GLTFLoader, DRACO path, and progress handling.
 */
export declare class GltfLoader extends BaseModelLoader {
    readonly id = "loader.builtin.gltf";
    readonly priority = 0;
    readonly formats: readonly ["gltf", "glb"];
    private static dracoDecoderPath;
    static setDracoDecoderPath(path: string): void;
    private gltfLoader?;
    private manager?;
    constructor(manager?: THREE.LoadingManager);
    updateManager(manager: THREE.LoadingManager | undefined): void;
    load(ctx: ModelLoadContext): Promise<THREE.Object3D>;
    loadFromBuffer(ctx: ModelLoadFromBufferContext): Promise<THREE.Object3D>;
    parseToScene(data: ArrayBuffer | string, path: string, onLoad: (object: THREE.Object3D) => void, onError?: (event: ErrorEvent) => void, quantize?: boolean): void;
    private obtainLoader;
    private applyRequestHeader;
    private sanitizeUrlForLoad;
    /**
     * Filter invalid early progress events from three.js loadAsync.
     */
    private wrapProgress;
}
