import { type CSSProperties, type ReactNode } from "react"; import type { Edge, Graph, NodeDefinition, NodeHandlePosition, PortDefinition, ViewportTransform } from "../../core/graph/types"; import type { RenderEdgeContext } from "../state/editorTypes"; export interface PortPoint { x: number; y: number; port?: PortDefinition; position?: NodeHandlePosition; } export interface ResolvedEdgeGeometry { path: string; labelX: number; labelY: number; source: PortPoint; target: PortPoint; } export type PortPointResolver = (nodeId: string, portId: string, direction: "input" | "output") => PortPoint | undefined; export declare function getPortPoint(graph: Graph, definitions: NodeDefinition[], nodeId: string, portId: string, direction: "input" | "output"): PortPoint; export declare function resolveEdgeGeometry(edge: Edge, graph: Graph, definitions: NodeDefinition[], resolvePortPoint?: PortPointResolver): ResolvedEdgeGeometry; export declare function edgePath(source: { x: number; y: number; }, target: { x: number; y: number; }): string; export declare function edgeMarkerDomId(edgeId: string, end: "start" | "end"): string; export declare function EdgeView({ edge, graph, definitions, resolvePortPoint, onSelect, onRemove, edgeClassName, edgeStyle, renderEdge, viewport, reconnectable, focusable, intersected, animationsEnabled, onReconnectPointerDown, onWaypointPointerDown, onInsertWaypoint }: { edge: Edge; graph: Graph; definitions: NodeDefinition[]; resolvePortPoint?: PortPointResolver; onSelect?: (edgeId: string, additive: boolean) => void; onRemove?: (edgeId: string) => void; edgeClassName?: (edge: Edge, graph: Graph) => string | undefined; edgeStyle?: (edge: Edge, graph: Graph) => CSSProperties | undefined; renderEdge?: (edge: Edge, context: RenderEdgeContext) => ReactNode; viewport?: ViewportTransform; reconnectable?: boolean; focusable?: boolean; intersected?: boolean; animationsEnabled?: boolean; onReconnectPointerDown?: (event: React.PointerEvent, edge: Edge, end: "source" | "target") => void; onWaypointPointerDown?: (event: React.PointerEvent, edge: Edge, index: number) => void; onInsertWaypoint?: (edge: Edge, point: { x: number; y: number; }) => void; }): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=EdgeView.d.ts.map