/**
 * @author alteredq / http://alteredqualia.com/
 * Converted to TypeScript
 */
import * as THREE from 'three';
import { type Pass } from './passes/pass';
/**
 * EffectComposer
 *
 * 基于three.js的EffectComposer，用于管理后处理pass的渲染流程
 */
export declare class EffectComposer {
    renderTarget1: THREE.WebGLRenderTarget;
    renderTarget2: THREE.WebGLRenderTarget;
    writeBuffer: THREE.WebGLRenderTarget;
    readBuffer: THREE.WebGLRenderTarget;
    passes: Pass[];
    normalMaterial: THREE.MeshNormalMaterial;
    clock: THREE.Clock;
    renderToScreen: boolean;
    status: {
        endabledPassNumber: number;
        needsColorGBuffer: boolean;
        needsDepthGBuffer: boolean;
        needsNormalGBuffer: boolean;
        version: string;
    };
    gbuffer: Map<'depth' | 'normal' | 'color', THREE.Texture>;
    constructor();
    swapBuffers(): void;
    addPass(pass: Pass): void;
    insertPass(pass: Pass, index: number): void;
    render(renderer: THREE.WebGLRenderer): boolean;
    setSize(width: number, height: number): void;
    updateStatus(): void;
    dispose(): void;
}
