import { RefObject, TouchEvent } from "react"; import { InfiniteCanvasNode, InfiniteCanvasPath, InfiniteCanvasPosition } from "../types/canvas"; export declare const addNode: (nodes: any[], node: any) => any[]; export declare const roundNumber: (num: number, digits?: number, base?: number) => number; export declare const moveNode: (node: InfiniteCanvasNode, pos: { x: number; y: number; }) => { x: number; y: number; id: string; type: string; isSelected?: boolean | undefined; extras?: any; menu?: any; direction?: string | undefined; asset?: string | undefined; zIndex?: number | undefined; ports?: import("../types/canvas").InfinitePort[] | undefined; label?: string | undefined; rotation?: number | 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 | { x: number; y: number; }) => InfiniteCanvasPath; export declare const lockToGrid: (point: InfiniteCanvasPosition, snapToGrid: boolean, grid: { width: number; height: number; divisions: number; }) => InfiniteCanvasPosition; export declare const onTouchDrag: (evt: React.TouchEvent, drag_event?: ((event?: TouchEvent, position?: { x: number; y: number; }, lastPos?: { x: number; y: number; }, finished?: boolean) => void) | undefined) => void; export declare const onDrag: (evt: React.MouseEvent, drag_event?: ((event?: MouseEvent, position?: { x: number; y: number; }, lastPos?: { x: number; y: number; }, finished?: boolean) => void) | undefined) => void;