import type { AssetContainer } from "@babylonjs/core/assetContainer"; import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture"; import { Scene } from "@babylonjs/core/scene"; import type { Nullable } from "@babylonjs/core/types"; import type { MaterialInfo, TextureInfo } from "./IMmdMaterialBuilder"; import { MmdStandardMaterial } from "./mmdStandardMaterial"; import type { ILogger } from "./Parser/ILogger"; import type { ReferenceFileResolver } from "./referenceFileResolver"; import { StandardMaterialBuilderBase } from "./standardMaterialBuilder"; /** * MMD standard material builder * * Use `MmdStandardMaterial` to create a mmdmesh material */ export declare class MmdStandardMaterialBuilder extends StandardMaterialBuilderBase { constructor(); protected _buildTextureNameMap(materialsInfo: readonly MaterialInfo[], materials: MmdStandardMaterial[], imagePathTable: readonly string[], texturesInfo: readonly TextureInfo[], textureNameMap: Map): void; loadSphereTexture(uniqueId: number, material: MmdStandardMaterial, materialInfo: MaterialInfo, imagePathTable: readonly string[], textureInfo: Nullable, scene: Scene, assetContainer: Nullable, rootUrl: string, referenceFileResolver: ReferenceFileResolver, logger: ILogger, onTextureLoadComplete?: () => void): Promise; loadToonTexture(uniqueId: number, material: MmdStandardMaterial, materialInfo: MaterialInfo, imagePathTable: readonly string[], textureInfo: Nullable, scene: Scene, assetContainer: Nullable, rootUrl: string, referenceFileResolver: ReferenceFileResolver, logger: ILogger, onTextureLoadComplete?: () => void): Promise; /** * Load outline rendering properties * * This method can be overridden for customizing the material loading process * @param material Material * @param materialInfo Material information * @param logger Logger */ loadOutlineRenderingProperties(material: MmdStandardMaterial, materialInfo: MaterialInfo, logger: ILogger): void; }