/**
 * @module viw-webgl-viewer/rendering
 */
import * as THREE from 'three';
import { Viewport } from '../viewport';
import { RenderScene } from './renderScene';
import { ViewerMaterials } from '../../vim-loader/materials/viewerMaterials';
import { Camera } from '../camera/camera';
/**
 * Composer for AA and Outline effects.
 */
export declare class RenderingComposer {
    private _renderer;
    private _scene;
    private _materials;
    private _camera;
    private _samples;
    private _size;
    private _composer;
    private _renderPass;
    private _ssaaRenderPass;
    private _selectionRenderPass;
    private _transferPass;
    private _outlines;
    private _clock;
    private _nextAATime;
    onDemand: boolean;
    private _outlinePass;
    private _fxaaPass;
    private _mergePass;
    private _outlineTarget;
    private _sceneTarget;
    constructor(renderer: THREE.WebGLRenderer, scene: RenderScene, viewport: Viewport, materials: ViewerMaterials, camera: Camera);
    private setup;
    private setupRendering;
    private setupOutline;
    get outlines(): boolean;
    set outlines(value: boolean);
    get camera(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
    set camera(value: THREE.PerspectiveCamera | THREE.OrthographicCamera);
    setSize(width: number, height: number): void;
    get samples(): number;
    set samples(value: number);
    render(updated: boolean, antialias: boolean): void;
    dispose(): void;
}
