/**
 * @module viw-webgl-viewer
 */
import * as THREE from 'three';
import { ViewerSettings } from '../settings/viewerSettings';
import { ICamera } from '../camera/ICamera';
import { ViewerMaterials } from '../../loader/materials/viewerMaterials';
import { Skybox } from './skybox';
import { Renderer } from '../rendering/renderer';
import { CameraLight } from './cameraLight';
/**
 * Manages ground plane and lights that are part of the THREE.Scene to render but not part of the Vims.
 */
export declare class Environment {
    private readonly _renderer;
    private readonly _camera;
    /**
     * The skylight in the scene.
     */
    readonly skyLight: THREE.HemisphereLight;
    /**
     * The array of directional lights in the scene.
     */
    readonly sunLights: ReadonlyArray<CameraLight>;
    readonly skybox: Skybox;
    constructor(camera: ICamera, renderer: Renderer, viewerMaterials: ViewerMaterials, settings: ViewerSettings);
    /**
     * Returns all three objects composing the environment
     */
    private getObjects;
    private createSkyLight;
    private createSunLights;
    private addObjectsToRenderer;
    /**
     * Dispose of all resources.
     */
    dispose(): void;
}
