import type { AssetContainer } from "@babylonjs/core/assetContainer"; import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial"; import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture"; import type { Scene } from "@babylonjs/core/scene"; import type { Nullable } from "@babylonjs/core/types"; import type { MaterialInfo, ReferencedMesh, TextureInfo } from "./IMmdMaterialBuilder"; import { MaterialBuilderBase } from "./materialBuilderBase"; import type { ILogger } from "./Parser/ILogger"; import type { ReferenceFileResolver } from "./referenceFileResolver"; import type { TextureAlphaChecker } from "./textureAlphaChecker"; /** * PBR material builder * * Use `PBRMaterial` to create a mmdmesh material */ export declare class PBRMaterialBuilder extends MaterialBuilderBase { constructor(); protected _getForcedExtension(texturePath: string): string | undefined; loadGeneralScalarProperties(material: PBRMaterial, materialInfo: MaterialInfo, meshes: readonly ReferencedMesh[]): void; loadDiffuseTexture(uniqueId: number, material: PBRMaterial, materialInfo: MaterialInfo, imagePathTable: readonly string[], textureInfo: Nullable, scene: Scene, assetContainer: Nullable, rootUrl: string, referenceFileResolver: ReferenceFileResolver, logger: ILogger, onTextureLoadComplete?: () => void): Promise; setAlphaBlendMode(material: PBRMaterial, materialInfo: MaterialInfo, meshes: readonly ReferencedMesh[], logger: ILogger, getTextureAlphaChecker: () => Nullable): Promise; protected _buildTextureNameMap(materialsInfo: readonly MaterialInfo[], materials: PBRMaterial[], imagePathTable: readonly string[], texturesInfo: readonly TextureInfo[], textureNameMap: Map): void; loadSphereTexture(): void; loadToonTexture(): void; loadOutlineRenderingProperties(): void; }