import type { Box, Connection, CoordinateExtent, DefaultEdgeOptions, Dimensions, Edge, EdgeMarkerType, Elements, FlowElement, Getters, GraphEdge, GraphNode, Node, Rect, Viewport, XYPosition, XYZPosition, } from '../types' export declare const getDimensions: (node: HTMLElement) => Dimensions export declare const clamp: (val: number, min?: number, max?: number) => number export declare const clampPosition: (position: XYPosition, extent: CoordinateExtent) => XYPosition export declare const getHostForElement: (element: HTMLElement) => Document declare type MaybeElement = Node | Edge | Connection | FlowElement export declare const isEdge: (element: MaybeElement) => element is Edge export declare const isGraphEdge: (element: MaybeElement) => element is GraphEdge export declare const isNode: (element: MaybeElement) => element is Node export declare const isGraphNode: (element: MaybeElement) => element is GraphNode export declare const parseNode: (node: Node, nodeExtent: CoordinateExtent, defaults?: Partial) => GraphNode export declare const parseEdge: (edge: Edge, defaults?: Partial) => GraphEdge export declare const getOutgoers: (node: GraphNode, elements: Elements) => import('../types').Element[] export declare const getIncomers: (node: GraphNode, elements: Elements) => import('../types').Element[] export declare const getEdgeId: ({ source, sourceHandle, target, targetHandle }: Connection) => string export declare const connectionExists: (edge: Edge | Connection, elements: Elements) => boolean /** * Intended for options API * In composition API you can access utilities from `useVueFlow` */ export declare const addEdge: ( edgeParams: Edge | Connection, elements: Elements, defaults?: DefaultEdgeOptions, ) => Elements /** * Intended for options API * In composition API you can access utilities from `useVueFlow` */ export declare const updateEdge: (oldEdge: Edge, newConnection: Connection, elements: Elements) => Elements export declare const pointToRendererPoint: ( { x, y }: XYPosition, { x: tx, y: ty, zoom: tScale }: Viewport, snapToGrid: boolean, [snapX, snapY]: [number, number], ) => XYPosition export declare const rectToBox: ({ x, y, width, height }: Rect) => Box export declare const boxToRect: ({ x, y, x2, y2 }: Box) => Rect export declare const getBoundsofRects: (rect1: Rect, rect2: Rect) => Rect export declare const getRectOfNodes: (nodes: GraphNode[]) => Rect export declare const graphPosToZoomedPos: ({ x, y }: XYPosition, { x: tx, y: ty, zoom: tScale }: Viewport) => XYPosition export declare const getNodesInside: ( nodes: GraphNode[], rect: Rect, { x: tx, y: ty, zoom: tScale }?: Viewport, partially?: boolean, ) => GraphNode[] export declare const getConnectedEdges: (nodes: GraphNode[], edges: GraphEdge[]) => GraphEdge[] export declare const getTransformForBounds: ( bounds: Rect, width: number, height: number, minZoom: number, maxZoom: number, padding?: number, offset?: { x?: number y?: number }, ) => Viewport export declare const getXYZPos: (parentPos: XYZPosition, computedPosition: XYZPosition) => XYZPosition export declare const isParentSelected: (node: GraphNode, getNode: Getters['getNode']) => boolean export declare const getMarkerId: (marker: EdgeMarkerType | undefined) => string export {}