import { ContextManager, Observable } from '@zcomponent/core'; import * as THREE from 'three'; import { Object3D } from '../Object3D'; export interface LightConstructorProps { /** * @zprop * @zdefault [1024, 1024] */ shadowMapSize: [number, number]; } /** * Base class for all lights. */ export declare class Light extends Object3D { element: T; constructor(contextManager: ContextManager, props: LightConstructorProps, element: T); /** * Color of the light. * @zprop * @zgroup Light * @zgrouppriority 5 * @zdefault [1, 1, 1] * @ztype color-norm-rgb-linear */ color: Observable<[number, number, number], never>; /** * Numeric value of the light's strength/intensity. Default is 1 * @zprop * @zgroup Light * @zgrouppriority 5 * @zdefault 1 */ intensity: Observable; /** * Normal bias for shadow mapping, useful for reducing shadow acne. * @zprop * @zgroup LightShadow * @zgrouppriority 10 * @zdefault 0 */ normalBias: Observable; /** * Radius to blur the edges of the shadow. High values may cause banding effects. * @zprop * @zgroup LightShadow * @zgrouppriority 10 * @zdefault 1 */ radius: Observable; /** * Bias for shadow mapping to reduce shadow artifacts. * @zprop * @zgroup LightShadow * @zgrouppriority 10 * @zdefault 0 */ bias: Observable; /** * The number of samples to use when blurring a VSM shadow map. * @zprop * @zgroup LightShadow * @zgrouppriority 10 * @zdefault 8 */ blurSamples: Observable; /** * Disposes the light and releases all resources. */ dispose(): never; }