import * as THREE from 'three';
import { FivePass } from './pass';
import { type Camera } from '../../../core/camera';
type Line = {
    id?: string;
    points: THREE.Vector3[];
    totalLength: number;
    color: THREE.Color;
    opacity?: number;
    duration?: number;
    delay?: number;
    lineWidth?: number;
    tailLengthRatio?: number;
};
export declare class FlowingLight3DPass 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);
    setLines(lines: Line[]): void;
    setLine(params: {
        id: string;
    } & Partial<Omit<Line, 'id'>>): void;
    private _updateLineAttributes;
    private _rebuildMesh;
    render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget, deltaTime: number, maskActive?: boolean): void;
    dispose(): void;
}
export {};
