import type { Material } from "@babylonjs/core/Materials/material.js"; import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js"; import type { Scene } from "@babylonjs/core/scene.js"; import type { MaterialBindingRecord, MaterialDiagnostic, MaterialSlotDescriptor } from "@skenora/contracts"; export declare class MaterialProjectionError extends Error { readonly diagnostic: Readonly; constructor(diagnostic: MaterialDiagnostic); } export interface MaterialSlot { readonly mesh: AbstractMesh; readonly slot: number; readonly original: Material | null; readonly material: Material | null; readonly descriptor: MaterialSlotDescriptor; } export declare function listMaterialSlots(scene: Scene, entityId: string, readOriginal?: (mesh: AbstractMesh) => Material | null): readonly MaterialSlot[]; export declare function resolveMaterialSlot(scene: Scene, binding: Readonly, readOriginal?: (mesh: AbstractMesh) => Material | null): MaterialSlot; //# sourceMappingURL=material-slots.d.ts.map