/** * A DOMRect-shaped measurement. Kept as a plain interface (rather than * depending on `DOMRect`) so this function stays a trivial, dependency-free * pure function that's easy to unit test. */ export interface Rect { top: number; left: number; width: number; height: number; } /** * Computes one SVG path `d` string per source rect, drawing a smooth elbow * (cubic bezier) from that source's right-center point to a distinct point on * the target's left edge. All coordinates are relative to `containerRect`, * since the SVG overlay this feeds is positioned absolutely over the container. * * Each connector arrives at its *own* endpoint rather than all converging on * the target's center: endpoints are stacked with a small gap and centered on * the target's vertical middle, so multiple arrows land side-by-side (each with * its own arrowhead) instead of merging into one. The gap shrinks if it would * otherwise overflow the target's height. A single source lands dead-center. * * The curve's control points sit on a shared vertical line halfway between the * two endpoints, which keeps the line horizontal as it leaves the source and * horizontal as it arrives at the target — the classic "fan-in" shape — and * collapses to a straight horizontal line when a source is level with its * endpoint. */ export declare const computeConnectorPaths: (sourceRects: Rect[], targetRect: Rect, containerRect: Rect) => string[];