import { IManifestoOptions, AnnotationBody, Color, PointSelector } from "./internal"; export declare class Light extends AnnotationBody { constructor(jsonld?: any, options?: IManifestoOptions); getColor(): Color; get Color(): Color; /** * The implementation of the intensity is based on * {@link https://github.com/IIIF/3d/blob/main/temp-draft-4.md | temp-draft-4.md } * and the example 3D manifests * {@link https://github.com/IIIF/3d/tree/main/manifests/3_lights | lights } * on 24 Mar 2024. The intensity property in the manifest is an object * with declared type 'Value', a numeric property named 'value' and a * property named unit . This implementation will only work with a unit == 'relative' * and it will be assumed that a relative unit value of 1.0 corresponds to the * brightest light source a rendering engine supports. * * This code will implement a default intensity of 1.0 **/ getIntensity(): number; get Intensity(): number; /** * As defined in the temp-draft-4.md ( * https://github.com/IIIF/3d/blob/main/temp-draft-4.md#lights ; 12 May 2024) * this quantity is the half-angle of the cone of the spotlight. * * The inconsistency between this definition of the angle and the definition of * fieldOfView for PerspectiveCamera (where the property value defines the full angle) has * already been noted: https://github.com/IIIF/api/issues/2284 * * provisional decision is to return undefined in case that this property * is accessed in a light that is not a spotlight * * * @returns number **/ getAngle(): number | undefined; get Angle(): number | undefined; /** * @return : if not null, is either a PointSelector, or an object * with an id matching the id of an Annotation instance. **/ getLookAt(): object | PointSelector | null; get LookAt(): object | null; isAmbientLight(): boolean; isDirectionalLight(): boolean; isPointLight(): boolean; isSpotLight(): boolean; }