import type { Vector3 } from '@holoscript/core'; /** * ProjectorLight.ts * * Cookie projection: frustum-shaped light that projects * a texture pattern onto surfaces. Supports intensity, * falloff, and color. * * @module rendering */ export interface ProjectorConfig { id: string; position: Vector3; direction: Vector3; cookieTextureId: string; fov: number; aspectRatio: number; nearClip: number; farClip: number; intensity: number; color: { r: number; g: number; b: number; }; falloff: 'none' | 'linear' | 'quadratic'; enabled: boolean; } export declare class ProjectorLight { private projectors; create(config: Omit & { id?: string; }): ProjectorConfig; remove(id: string): boolean; get(id: string): ProjectorConfig | undefined; getCount(): number; setPosition(id: string, x: number, y: number, z: number): void; setDirection(id: string, x: number, y: number, z: number): void; setIntensity(id: string, intensity: number): void; setColor(id: string, r: number, g: number, b: number): void; setEnabled(id: string, enabled: boolean): void; getFrustumPlanes(id: string): { near: number; far: number; fov: number; aspect: number; } | null; isPointInFrustum(id: string, point: Vector3): boolean; computeAttenuation(id: string, distance: number): number; getActive(): ProjectorConfig[]; } //# sourceMappingURL=ProjectorLight.d.ts.map