import * as THREE from 'three'; import { FivePass } from './pass'; import { type Camera } from '../../../core/camera'; export type FlowingLight2DPassLine = { id?: string; points: THREE.Vector2[]; totalLength: number; color: THREE.Color; opacity?: number; duration?: number; lineWidth?: number; tailLengthRatio?: number; startTime?: number; }; export declare class FlowingLight2DPass extends FivePass { private camera; private mesh; private material; private uTime; private lines; private lineScene; private orthoCamera; private lineRenderTarget; private blendMaterial; private blendQuad; constructor(camera: Camera); /** 将 2D 归一化坐标点转为内部 vec3(z = MARKER_Z) */ private toInternal; private toInternalLine; setLines(lines: FlowingLight2DPassLine[]): void; addLine(...lines: FlowingLight2DPassLine[]): string[]; removeLine(...ids: string[]): number; setLine(params: { id: string; } & Partial>): void; private _updateLineAttributes; private _rebuildMesh; render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget, deltaTime: number, maskActive?: boolean): void; dispose(): void; }