import { Light } from "@babylonjs/core/Lights/light.js"; import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator.js"; import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js"; import type { Scene } from "@babylonjs/core/scene.js"; import type { LightConfig } from "@skenora/contracts"; export interface LightingControllerOptions { isShadowCaster?: (mesh: AbstractMesh) => boolean; } /** Creates lights and shadow generators from serializable, renderer-neutral data. */ export declare class LightingController { #private; readonly scene: Scene; constructor(scene: Scene, options?: LightingControllerOptions); get lights(): readonly Light[]; getShadowGenerator(lightId: string): ShadowGenerator | null; getLight(lightId: string): Light | null; getConfig(lightId: string): LightConfig | null; apply(configs: readonly Readonly[]): void; refreshShadowCasters(): void; capture(): readonly LightConfig[]; dispose(): void; } //# sourceMappingURL=lighting-controller.d.ts.map