import * as THREE from 'three'; import { Effect, ClearPass, ShaderPass, Selection } from 'postprocessing'; import { IDPass } from './IDPass'; import { WidenPass } from './WidenPass'; import { AAPass } from './AAPass'; export declare class OutlineEffect extends Effect { scene: THREE.Scene; camera: THREE.Camera; idRT: THREE.WebGLRenderTarget; outlineRT: THREE.WebGLRenderTarget; aaRT: THREE.WebGLRenderTarget; clearPass: ClearPass; idPass: IDPass; outlinePass: ShaderPass; widenPass: WidenPass; aaPass: AAPass; selections1: Selection[]; selections2: Selection[]; selections3: Selection[]; time: number; isColorSwitchNeeded: (selection: Selection, color: THREE.Color, colorS: THREE.Color) => boolean; processSelection: (renderer: THREE.WebGLRenderer, selection: Selection, color: THREE.Color, colorS: THREE.Color, id: number) => void; constructor(scene: THREE.Scene, camera: THREE.Camera, { width, edgeColor1, edgeColor2, edgeColor3, }?: { width?: number | undefined; edgeColor1?: [THREE.ColorRepresentation, THREE.ColorRepresentation] | undefined; edgeColor2?: [THREE.ColorRepresentation, THREE.ColorRepresentation] | undefined; edgeColor3?: [THREE.ColorRepresentation, THREE.ColorRepresentation] | undefined; }); set width(value: number); set edgeColor1(value: [THREE.ColorRepresentation, THREE.ColorRepresentation]); set edgeColor2(value: [THREE.ColorRepresentation, THREE.ColorRepresentation]); set edgeColor3(value: [THREE.ColorRepresentation, THREE.ColorRepresentation]); set selectionLayer(value: number); update(renderer: THREE.WebGLRenderer, inputBuffer: THREE.WebGLRenderTarget, deltaTime: number): void; setSize(width: number, height: number): void; initialize(renderer: THREE.WebGLRenderer, alpha: boolean, frameBufferType?: number): void; }