import { ImageMimeType , IMeshPrimitive , INode , IMaterial , ITextureInfo } from "babylonjs-gltf2interface" ; import { Node } from "babylonjs/node" ; import { Nullable } from "babylonjs/types" ; import { Texture } from "babylonjs/Materials/Textures/texture" ; import { SubMesh } from "babylonjs/Meshes/subMesh" ; import { IDisposable } from "babylonjs/scene" ; import { _BinaryWriter } from "./glTFExporter" ; import { IGLTFExporterExtension } from "../glTFFileExporter" ; import { Material } from 'babylonjs/Materials/material' ; import { BaseTexture } from 'babylonjs/Materials/Textures/baseTexture' ; hidden export var __IGLTFExporterExtensionV2 = 0 ; hidden export interface IGLTFExporterExtensionV2 extends IGLTFExporterExtension , IDisposable { param context param babylonTexture param mimeType returns preExportTextureAsync ? ( context , babylonTexture , mimeType ) : Promise < Texture > ; param context param textureInfo param babylonTexture postExportTexture ? ( context , textureInfo , babylonTexture ) : void ; param context param meshPrimitive param babylonSubMesh param binaryWriter returns postExportMeshPrimitiveAsync ? ( context , meshPrimitive , babylonSubMesh , binaryWriter ) : Promise < IMeshPrimitive > ; param context param node param babylonNode returns postExportNodeAsync ? ( context , node , babylonNode , nodeMap ? ) : Promise < Nullable < INode > > ; param material param babylonMaterial returns postExportMaterialAsync ? ( context , node , babylonMaterial ) : Promise < IMaterial > ; param material param babylonMaterial returns postExportMaterialAdditionalTextures ? ( context , node , babylonMaterial ) : BaseTexture [ ] ; /** Gets a boolean indicating that this extension was used */ wasUsed : boolean ; /** Gets a boolean indicating that this extension is required for the file to work */ required : boolean ; /**
     * Called after the exporter state changes to EXPORTING
     */ onExporting ? ( ) : void ; }