import type { Vector3 } from '@holoscript/core'; /** * VolumetricLight.ts * * Volumetric/god ray lighting: scattering computation, * shadow-aware shafts, intensity falloff, and ray marching. * * @module rendering */ export interface VolumetricLightConfig { id: string; position: [number, number, number]; direction: Vector3; color: [number, number, number]; intensity: number; scattering: number; decay: number; samples: number; maxDistance: number; shadowDensity: number; enabled: boolean; } export interface VolumetricSample { position: [number, number, number]; accumulated: number; step: number; } export declare class VolumetricLight { private lights; addLight(config: Partial & { id: string; }): VolumetricLightConfig; removeLight(id: string): void; getLight(id: string): VolumetricLightConfig | undefined; getLightCount(): number; march(lightId: string, viewPos: Vector3, viewDir: Vector3): VolumetricSample[]; getScatteringAt(lightId: string, worldPos: Vector3): number; private normalize; } //# sourceMappingURL=VolumetricLight.d.ts.map