import { OrthographicCamera, PerspectiveCamera } from 'three';
import { AViewerPluginSync, ThreeViewer } from '../../viewer';
import { ICamera } from '../../core';
import { ProgressivePlugin } from './ProgressivePlugin';
export type SSAAPluginEventTypes = '';
export type TCamera = ICamera & (PerspectiveCamera | OrthographicCamera);
/**
 * SSAA Plugin
 *
 * Jitters the render camera and optionally other cameras in the scene
 * to create a super-sampled anti-aliasing effect.
 * This is done across multiple frames by integrating with the ProgressivePlugin
 * @category Plugins
 */
export declare class SSAAPlugin extends AViewerPluginSync<SSAAPluginEventTypes> {
    static readonly PluginType = "SSAAPlugin";
    enabled: boolean;
    rendersPerFrame: number;
    jitterRenderCamera: boolean;
    jitterLightCameras: boolean;
    private _hasSetOffsetRC;
    private _hasSetOffsetLC;
    trackedJitterCameras: Set<[TCamera, {
        width: number;
        height: number;
    }]>;
    dependencies: (typeof ProgressivePlugin)[];
    constructor(rendersPerFrame?: number);
    onAdded(viewer: ThreeViewer): void;
    onRemove(viewer: ThreeViewer): void;
    setDirty(): void;
    private _addSceneObject;
    private _jitter;
    private _clearJitter;
    private _preRender;
    private _postRender;
    jitterOffsets: {
        x: number;
        y: number;
    }[];
}
//# sourceMappingURL=SSAAPlugin.d.ts.map