import type { Connection, Edge, Graph, NodeInstance, NodePosition, Rect, ViewportTransform } from "./types"; export interface AddEdgeOptions { getEdgeId?: (connection: Connection) => string; onError?: (error: Error) => void; } export interface ReconnectEdgeOptions extends AddEdgeOptions { shouldReplaceId?: boolean; } export interface NodeBoundsOptions { fallbackWidth?: number; fallbackHeight?: number; includeHiddenNodes?: boolean; allNodes?: NodeInstance[]; } export interface ViewportForBoundsOptions { width: number; height: number; minZoom?: number; maxZoom?: number; padding?: number; } export declare function isNode(value: unknown): value is NodeInstance; export declare function isEdge(value: unknown): value is Edge; export declare function addEdge(edgeParams: Connection | Edge, edges: Edge[], options?: AddEdgeOptions): Edge[]; export declare function reconnectEdge(oldEdge: Edge, connection: Connection, edges: Edge[], options?: ReconnectEdgeOptions): Edge[]; export declare function getConnectedEdges(nodes: NodeInstance[], edges: Edge[]): Edge[]; export declare function getIncomers(node: NodeInstance, nodes: NodeInstance[], edges: Edge[]): NodeInstance[]; export declare function getOutgoers(node: NodeInstance, nodes: NodeInstance[], edges: Edge[]): NodeInstance[]; export declare function getNodeAbsolutePosition(node: NodeInstance, allNodes?: NodeInstance[]): NodePosition; export declare function getNodeRect(node: NodeInstance, options?: NodeBoundsOptions): Rect; export declare function getNodesBounds(nodes: NodeInstance[], options?: NodeBoundsOptions): Rect; export declare function getViewportForBounds(bounds: Rect, options: ViewportForBoundsOptions): ViewportTransform; export declare function isNodeIntersecting(nodeOrRect: NodeInstance | Rect, area: Rect, partially?: boolean, allNodes?: NodeInstance[]): boolean; export declare function getIntersectingNodes(nodeOrRect: NodeInstance | Rect, nodes: NodeInstance[], partially?: boolean): NodeInstance[]; export declare function screenToGraphPosition(position: NodePosition, viewport: ViewportTransform): NodePosition; export declare function graphToScreenPosition(position: NodePosition, viewport: ViewportTransform): NodePosition; export declare function snapPosition(position: NodePosition, grid?: [number, number]): NodePosition; export declare function removeNodeAndReconnect(graph: Graph, nodeId: string): Graph; //# sourceMappingURL=utilities.d.ts.map