import { RefObject } from "react"; import { InfiniteCanvasNode, InfiniteCanvasPath, InfiniteCanvasPosition } from "../types/canvas"; export declare const addNode: (nodes: any[], node: any) => any[]; export declare const moveNode: (node: InfiniteCanvasNode, pos: { x: number; y: number; }) => { x: number; y: number; id: string; type: string; menu?: any; direction?: string | undefined; asset?: string | undefined; ports?: import("../types/canvas").InfinitePort[] | undefined; label?: string | undefined; width?: number | undefined; height?: number | undefined; value?: string | undefined; sub_components?: { [key: string]: InfiniteCanvasNode; } | undefined; }; export declare const getRelativePos: (ref: RefObject, position: { x: number; y: number; }) => { x: number; y: number; }; export declare const getRelativeCanvasPos: (ref: RefObject, viewport: { offset: { x: number; y: number; }; zoom: number; }, position: { x: number; y: number; }) => { x: number; y: number; }; export declare const addPathSegment: (path: InfiniteCanvasPath, segment_ix: number, point: InfiniteCanvasPosition) => InfiniteCanvasPath; export declare const updatePathSegment: (path: InfiniteCanvasPath, ix: number, point: InfiniteCanvasPosition) => InfiniteCanvasPath; export declare const linkPath: (path: InfiniteCanvasPath, nodeId: string, handleId: string) => InfiniteCanvasPath; export declare const lockToGrid: (point: InfiniteCanvasPosition, snapToGrid: boolean, grid: { width: number; height: number; divisions: number; }) => InfiniteCanvasPosition; export declare const onDrag: (evt: React.MouseEvent, drag_event?: ((event?: MouseEvent | undefined, position?: { x: number; y: number; } | undefined, lastPos?: { x: number; y: number; } | undefined, finished?: boolean | undefined) => void) | undefined) => void;