import { Camera, Color, Scene } from 'three';
import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
import type { ThreeRendererType } from '../display/types.js';
import type { IGetRenderPass } from './IGetRenderPass.js';
import type { IProjection } from './IProjection.js';
import type { IStage, RenderCmdFunc } from './IStage.js';
export declare class Stage2D implements IStage, IGetRenderPass {
    #private;
    scene: Scene;
    autoClear: boolean;
    clearColor: Color;
    clearAlpha: number;
    needsUpdate: boolean;
    get name(): string;
    set name(name: string);
    get containerWidth(): number;
    get containerHeight(): number;
    get width(): number;
    get height(): number;
    get projection(): IProjection | undefined;
    set projection(projection: IProjection | undefined);
    get camera(): Camera | undefined;
    set camera(camera: Camera | undefined);
    constructor(projection?: IProjection, scene?: Scene);
    resize(width: number, height: number): void;
    update(forceUpdate?: boolean): void;
    renderFrame(renderer: ThreeRendererType, now: number, deltaTime: number, frameNo: number, renderCmd?: RenderCmdFunc): void;
    getRenderPass(): RenderPass;
}
//# sourceMappingURL=Stage2D.d.ts.map