import { ContextManager, Observable } from '@zcomponent/core'; import * as THREE from 'three'; import { Light, LightConstructorProps } from './Light'; /** * Interface for constructor properties of DirectionalLight. */ export type DirectionalLightConstructorProps = LightConstructorProps; /** * A light that emits light in a single uniform direction with rays parallel to each other. A directional light imitates a light source that is infinitely far away like the sun and is often used to represent sunlight. * * While the position of a DirectionalLight does not influence the lighting of objects (only its rotation does), the position does influence shadows. For this reason, a DirectionalLight should be positioned such that any geometry that should receive or cast shadows is in front of it. * * Root element: [THREE.DirectionalLight](https://threejs.org/docs/index.html?q=SpotLig#api/en/lights/DirectionalLight) * * * @zcomponent * @zgroup Lights * @zicon light * @ztag three/Object3D/Light/DirectionalLight * @zparents three/Object3D/Group/** */ export declare class DirectionalLight extends Light { /** * Constructs a DirectionalLight. * @param contextManager - The context manager. * @param props - The properties required to construct a DirectionalLight. */ constructor(contextManager: ContextManager, props: DirectionalLightConstructorProps); /** * Shadow camera's left plane. * @zprop * @zgroup Shadow Camera * @zgrouppriority 4 * @zdefault -5 */ shadowCameraLeft: Observable; /** * Shadow camera's right plane. * @zprop * @zgroup Shadow Camera * @zgrouppriority 4 * @zdefault 5 */ shadowCameraRight: Observable; /** * Shadow camera's top plane. * @zprop * @zgroup Shadow Camera * @zgrouppriority 4 * @zdefault 5 */ shadowCameraTop: Observable; /** * Shadow camera's bottom plane. * @zprop * @zgroup Shadow Camera * @zgrouppriority 4 * @zdefault -5 */ shadowCameraBottom: Observable; /** * Shadow camera near plane distance. * @zprop * @zgroup Shadow Camera * @zgrouppriority 4 * @zdefault 0.5 */ shadowCameraNear: Observable; /** * Shadow camera far plane distance. * @zprop * @zgroup Shadow Camera * @zgrouppriority 4 * @zdefault 500 */ shadowCameraFar: Observable; /** * Whether the light will cast shadows. Default is false. * @zprop * @zgroup Light * @zgrouppriority 5 * @zdefault false */ castShadow: Observable; }