/**
 * @module viw-webgl-viewer
 */
import * as THREE from 'three';
import { ICamera } from '../camera/ICamera';
export declare class CameraLight {
    readonly light: THREE.DirectionalLight;
    private readonly _camera;
    private _unsubscribe;
    /**
     * The position of the light.
     */
    position: THREE.Vector3;
    /**
     * The color of the light.
     */
    get color(): THREE.Color;
    set color(value: THREE.Color);
    /**
     * The intensity of the light.
     */
    get intensity(): number;
    set intensity(value: number);
    /**
     * Whether the light follows the camera or not.
     */
    get followCamera(): boolean;
    set followCamera(value: boolean);
    constructor(camera: ICamera, options: {
        followCamera: boolean;
        position: THREE.Vector3;
        color: THREE.Color;
        intensity: number;
    });
    /**
     * Updates the light's position based on the camera's quaternion.
     */
    private updateLightPosition;
    /**
     * Disposes of the camera light.
     */
    dispose(): void;
}
