import { ContextManager, Observable } from '@zcomponent/core'; import * as THREE from 'three'; import { Light, LightConstructorProps } from './Light'; export type SpotLightConstructorProps = LightConstructorProps; /** * A light that's emitted from a point in space, along a cone of increasing radius. * * Root element: [THREE.SpotLight](https://threejs.org/docs/index.html?q=SpotLig#api/en/lights/SpotLight) * * @zcomponent * @zgroup Lights * @zicon light * @ztag three/Object3D/Light/SpotLight * @zparents three/Object3D/Group/** */ export declare class SpotLight extends Light { constructor(contextManager: ContextManager, props: SpotLightConstructorProps); /** * Maximum angle of light dispersion from its direction whose upper bound is Math.PI/2. * @zprop * @zgroup Light * @zgrouppriority 5 * @zdefault 1.0471975511965976 */ angle: Observable; /** * If set to true light will cast dynamic shadows. * * @Warning: This is expensive and requires tweaking to get shadows looking right. * * @zprop * @zgroup Light * @zgrouppriority 5 * @zdefault false */ castShadow: Observable; /** * The amount the light dims along the distance of the light. * @zprop * @zgroup Light * @zgrouppriority 5 * @zdefault 1 */ decay: Observable; /** * * Percent of the spotlight cone that is attenuated due to penumbra. * Takes values between zero and 1. The default is 0.0. * @zprop * @zgroup Lights * @zgrouppriority 5 * @zdefault 0 */ penumbra: Observable; }