import { ThreeElements } from '@react-three/fiber'; import { PhysicalSpotLight, ShapedAreaLight } from 'three-gpu-pathtracer'; import { VuerProps } from '../../vuer/interfaces'; import { RectAreaLight as TAL, SpotLight as TSL } from 'three'; import { ColorRepresentation } from 'three/src/math/Color'; import { JSX } from 'react/jsx-runtime'; declare module '@react-three/fiber' { interface ThreeElements { physicalSpotLight: JSX.IntrinsicElements['spotLight'] & { args: ConstructorParameters; }; shapedAreaLight: JSX.IntrinsicElements['rectAreaLight'] & { args: ConstructorParameters; }; } } /** * Creates a new SpotLight. * @param color Hexadecimal color of the light. Default `0xffffff` _(white)_. * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`. * @param distance Maximum range of the light. Default is 0 (no limit). Expects a `Float`. * @param angle Maximum angle of light dispersion from its direction whose upper bound is Math.PI/2. * @param penumbra Percent of the {@link SpotLight} cone that is attenuated due to penumbra. Takes values between zero and 1. Expects a `Float`. Default `0`. * @param decay The amount the light dims along the distance of the light. Expects a `Float`. Default `2`. **/ export type PBRSpotLProp = VuerProps; export declare const PBRSpotLight: ({ _key, intensity, color, distance, angle, penumbra, decay, ...rest }: PBRSpotLProp) => JSX.Element; /** * Creates a new {@link RectAreaLight}. * @param color Hexadecimal color of the light. Default `0xffffff` _(white)_. * @param intensity The light's intensity, or brightness. Expects a `Float`. Default `1` * @param width Width of the light. Expects a `Float`. Default `10` * @param height Height of the light. Expects a `Float`. Default `10` **/ export type PBRAreaLProp = VuerProps; export declare const PBRAreaLight: ({ _key, castShadow, intensity, color, width, height, ...rest }: PBRAreaLProp) => JSX.Element;