import { type MaterialSchema, type SceneMaterial, type SceneMaterialId } from '@pascal-app/core'; import { type RenderShading } from '@pascal-app/viewer'; import type { Material } from 'three'; import { MeshBasicNodeMaterial } from 'three/webgpu'; export type CeilingMaterials = { topMaterial: MeshBasicNodeMaterial; bottomMaterial: Material; }; export declare function getCeilingMaterials(color?: string, shading?: RenderShading): CeilingMaterials; /** Resolve through the shared caches, without mutating another surface's material. */ export declare function resolveCeilingFinish(finish: MaterialSchema | string | undefined, sceneMaterials: Record | undefined, shading: RenderShading): Material | null; /** * Resolve a slot `MaterialRef` to a flat colour for the ceiling surface. * `library:` refs use the catalog preset's base colour; `scene:` refs use the * stored material's colour; a plain colour is itself. Returns null for a dangling / unparseable ref so * the caller falls back to its default. */ export declare function ceilingColorFromRef(ref: string | undefined, sceneMaterials: Record | undefined): string | null; //# sourceMappingURL=materials.d.ts.map