import type { NodeDefinition, EdgeDefinition, FlowVizConfig, ResolvedNode } from '../types'; import { GraphModel } from '../graph/GraphModel'; import { EventBus } from './EventBus'; import type { PathData } from '../path/BezierPath'; export interface FlowEngineOptions { canvas: HTMLCanvasElement; width: number; height: number; nodes?: NodeDefinition[]; edges?: EdgeDefinition[]; config?: FlowVizConfig; } export declare class FlowEngine { readonly graph: GraphModel; readonly events: EventBus; private pathCache; private particleSystem; private renderer; private loop; private config; private _width; private _height; private _initialized; constructor(options: FlowEngineOptions); start(): void; pause(): void; resume(): void; destroy(): void; setConfig(config: FlowVizConfig): void; setSpeed(multiplier: number): void; setNodes(defs: NodeDefinition[]): void; setEdges(defs: EdgeDefinition[]): void; addNode(def: NodeDefinition): void; removeNode(id: string): void; addEdge(def: EdgeDefinition): void; removeEdge(id: string): void; setParticleCount(edgeId: string, count: number): void; resize(width: number, height: number): void; private applyLayout; private rebuildPaths; private tick; get width(): number; get height(): number; get isPaused(): boolean; get nodes(): ResolvedNode[]; getPathData(edgeId: string): PathData | undefined; } //# sourceMappingURL=FlowEngine.d.ts.map