import type { EdgeDefinition, EdgeParticleConfig } from '../types/index'; import { BezierPath } from '../geometry/Bezier'; import type { Node } from './Node'; declare const EDGE_DEFAULTS: { curvature: number; color: string; width: number; opacity: number; dashed: boolean; dashArray: string; }; export declare class Edge { readonly id: string; readonly sourceId: string; readonly targetId: string; curvature: number; curvature2: number; controlPointOffset?: { x: number; y: number; }; color: string; width: number; opacity: number; dashed: boolean; dashArray: string; particles: Required; /** Computed bezier path — rebuilt on node move */ path: BezierPath; /** Raw definition reference */ definition: EdgeDefinition; /** Interaction state */ hovered: boolean; constructor(def: EdgeDefinition, configDefaults?: Partial; }>); /** * Rebuild the bezier path using current node positions. * Edges connect to node shape boundaries — not centers. * Must be called after any node position change. */ buildPath(sourceNode: Node, targetNode: Node): void; /** * Draw the edge line on canvas using its pre-computed SVG path string. * Particles and glow effects are rendered by Renderer separately. */ renderLine(ctx: CanvasRenderingContext2D): void; update(def: EdgeDefinition, configDefaults?: Partial; }>): void; } export {}; //# sourceMappingURL=Edge.d.ts.map