import { type CeilingNode, type CeilingSurfaceCell, useScene } from '@pascal-app/core'; import * as THREE from 'three'; /** Name of the meshes a ceiling draws its paint regions with, one per region. */ export declare const CEILING_REGION_MESH = "ceiling-region"; /** * The material a ceiling draws a region finish with. The ceiling's renderer * owns materials (theme, textures, scene materials) and leaves this on the * registered mesh; the system builds geometry and asks it. */ export type CeilingRegionMaterial = (finish: CeilingSurfaceCell['finish']) => THREE.Material; type SceneNodes = ReturnType['nodes']; export declare const CeilingSystem: () => null; /** * Updates the geometry for a single ceiling */ export declare function updateCeilingGeometry(node: CeilingNode, mesh: THREE.Mesh, extraHoles?: Array>, nodes?: SceneNodes): void; /** * Generates flat ceiling geometry from polygon (no extrusion). * * `extraHoles` are transient, derived cutouts (e.g. recessed-fixture * footprints) that are cut alongside the node's persisted `holes` but never * stored on the node — they are recomputed on every rebuild. */ export declare function generateCeilingGeometry(ceilingNode: CeilingNode, extraHoles?: Array>): THREE.BufferGeometry; export {}; //# sourceMappingURL=ceiling-system.d.ts.map