import { Connection, Node, Port, Position } from '../../types/core'; import { ConnectionPathCalculators } from '../../types/NodeDefinition'; /** * @file ConnectionView component * Split into Container (context-aware) and Inner (pure rendering) for optimal memoization. */ import * as React from "react"; export type ConnectionViewProps = { connection: Connection; fromNode: Node; toNode: Node; fromPort: Port; toPort: Port; isSelected: boolean; isHovered: boolean; isAdjacentToSelectedNode?: boolean; isDragging?: boolean; dragProgress?: number; fromNodePosition?: Position; toNodePosition?: Position; fromNodeSize?: { width: number; height: number; }; toNodeSize?: { width: number; height: number; }; /** * Connection path calculators. * Custom connection renderers can use this to compute the path without calling hooks. */ pathCalculators?: ConnectionPathCalculators; onPointerDown?: (e: React.PointerEvent, connectionId: string) => void; onPointerEnter?: (e: React.PointerEvent, connectionId: string) => void; onPointerLeave?: (e: React.PointerEvent, connectionId: string) => void; onContextMenu?: (e: React.MouseEvent, connectionId: string) => void; }; export declare const ConnectionView: React.NamedExoticComponent;