import { type INode } from "babylonjs-gltf2interface"; import { type IGLTFExporterExtensionV2 } from "../glTFExporterExtension.js"; import { type BufferManager } from "../bufferManager.js"; import { GLTFExporter } from "../glTFExporter.js"; import { type Nullable } from "@babylonjs/core/types.js"; import { type Node } from "@babylonjs/core/node.js"; /** * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/README.md) */ export declare class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { /** Name of this extension */ readonly name = "EXT_mesh_gpu_instancing"; /** Defines whether this extension is enabled */ enabled: boolean; /** Defines whether this extension is required */ required: boolean; /** * Internal state to emit warning about instance color alpha once */ private _instanceColorWarned; private _exporter; private _wasUsed; constructor(exporter: GLTFExporter); dispose(): void; /** @internal */ get wasUsed(): boolean; /** * After node is exported * @param context the GLTF context when loading the asset * @param node the node exported * @param babylonNode the corresponding babylon node * @param nodeMap map from babylon node id to node index * @param convertToRightHanded true if we need to convert data from left hand to right hand system. * @param bufferManager buffer manager * @returns nullable promise, resolves with the node */ postExportNodeAsync(context: string, node: Nullable, babylonNode: Node, nodeMap: Map, convertToRightHanded: boolean, bufferManager: BufferManager): Promise>; private _buildAccessor; } /** * Registers the EXT_mesh_gpu_instancing glTF serializer extension with the {@link GLTFExporter}. * Safe to call multiple times; only the first call has an effect. */ export declare function RegisterEXT_mesh_gpu_instancing(): void;