import { type IGLTFExporterExtensionV2 } from "../glTFExporterExtension.js"; import { GLTFExporter } from "../glTFExporter.js"; import { type IAccessor, type IMeshPrimitive } from "babylonjs-gltf2interface"; import { type BufferManager } from "../bufferManager.js"; /** * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_draco_mesh_compression/README.md) */ export declare class KHR_draco_mesh_compression implements IGLTFExporterExtensionV2 { /** Name of this extension */ readonly name = "KHR_draco_mesh_compression"; /** Defines whether this extension is enabled */ enabled: boolean; /** KHR_draco_mesh_compression is required, as uncompressed fallback data is not yet implemented. */ required: boolean; /** BufferViews used for Draco data, which may be eligible for removal after Draco encoding */ private _bufferViewsUsed; /** Accessors that were replaced with Draco data, which may be eligible for removal after Draco encoding */ private _accessorsUsed; /** Promise pool for Draco encoding work */ private _encodePromises; private _wasUsed; /** @internal */ get wasUsed(): boolean; /** @internal */ constructor(exporter: GLTFExporter); /** @internal */ dispose(): void; /** @internal */ postExportMeshPrimitive(primitive: IMeshPrimitive, bufferManager: BufferManager, accessors: IAccessor[]): void; /** @internal */ preGenerateBinaryAsync(bufferManager: BufferManager): Promise; } /** * Registers the KHR_draco_mesh_compression glTF serializer extension with the {@link GLTFExporter}. * Safe to call multiple times; only the first call has an effect. */ export declare function RegisterKHR_draco_mesh_compression(): void;