import type { EdgePathResult, EdgePathParams } from "./edgePaths"; import type { EdgeFloatingMode, EdgeRoutingOptions, NodeHandlePosition, NodePosition, Rect } from "./types"; export interface EdgeAnchor extends NodePosition { position: NodeHandlePosition; } export interface FloatingEdgePoints { source: EdgeAnchor; target: EdgeAnchor; } export interface SmartEdgePathParams extends EdgePathParams { obstacles?: Rect[]; routing?: EdgeRoutingOptions; } export declare function getRectBoundaryPoint(rect: Rect, toward: NodePosition, mode?: EdgeFloatingMode): EdgeAnchor; export declare function getFloatingEdgePoints(sourceRect: Rect, targetRect: Rect, mode?: EdgeFloatingMode): FloatingEdgePoints; /** * Routes an orthogonal edge on a bounded grid. Only smart edges pay this cost; * normal graph rendering continues to use the constant-time path helpers. */ export declare function getSmartEdgePath({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, obstacles, routing }: SmartEdgePathParams): EdgePathResult; export declare function isPolylineIntersectingRect(points: NodePosition[], rect: Rect, padding?: number): boolean; //# sourceMappingURL=edgeGeometry.d.ts.map