/** Internal PBR projection helpers shared by legacy overrides and owned materials. */ import type { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js"; import type { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js"; import { Texture } from "@babylonjs/core/Materials/Textures/texture.js"; import { Color3 } from "@babylonjs/core/Maths/math.color.js"; import type { Scene } from "@babylonjs/core/scene.js"; import type { MaterialOverride, MaterialRuntimeProperty, MaterialTextureSlot, TextureReference } from "@skenora/contracts"; export declare function applyPbrOverride(material: PBRMaterial, override: Readonly): void; export declare function setPbrMaterialProperty(material: PBRMaterial, property: MaterialRuntimeProperty, value: unknown): void; /** Preflight without writes so a caller can validate every material instance. */ export declare function preparePbrMaterialProperty(material: PBRMaterial, property: MaterialRuntimeProperty, value: unknown): () => void; export declare function createTexture(scene: Scene, url: string, reference: Readonly, name: string, callbacks?: { onLoad: () => void; onError: () => void; }): Texture; export declare function readTextureSlot(material: PBRMaterial, slot: MaterialTextureSlot): BaseTexture | null; export declare function assignTextureSlot(material: PBRMaterial, slot: MaterialTextureSlot, texture: BaseTexture | null): void; export declare function readManagedReference(texture: Texture): TextureReference | null; export declare function toColorValue(value: Color3): { r: number; g: number; b: number; }; //# sourceMappingURL=pbr-material.d.ts.map