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;
}
