import { type IMaterial } from "babylonjs-gltf2interface"; import { type IGLTFExporterExtensionV2 } from "../glTFExporterExtension.js"; import { type Material } from "@babylonjs/core/Materials/material.js"; /** * TODO: Add link to specification. Specification still being drafted. * @experimental */ export declare class KHR_materials_openpbr implements IGLTFExporterExtensionV2 { /** Name of this extension */ readonly name = "KHR_materials_openpbr"; /** Defines whether this extension is enabled */ enabled: boolean; /** Defines whether this extension is required */ required: boolean; private _wasUsed; dispose(): void; /** @internal */ get wasUsed(): boolean; /** * After exporting a material * @param context GLTF context of the material * @param node exported GLTF node * @param babylonMaterial corresponding babylon material * @returns promise that resolves with the updated node */ postExportMaterialAsync?(context: string, node: IMaterial, babylonMaterial: Material): Promise; } /** * Registers the KHR_materials_openpbr glTF serializer extension with the {@link GLTFExporter}. * Safe to call multiple times; only the first call has an effect. */ export declare function RegisterKHR_materials_openpbr(): void;