/** * React Flow compatibility shims for desk migration. * * These functions mirror the React Flow hooks API so that * desk components can be ported with minimal changes. */ import type { NodeBase, EdgeBase, Viewport, XYPosition } from './types.ts'; import type { Connection, NodeChange, EdgeChange } from '@xyflow/system'; /** * useNodesState — mirrors React Flow's useNodesState. * Returns [nodes getter, setNodes, onNodesChange handler]. */ export declare function useNodesState(initialNodes: NodeType[]): [() => NodeType[], (updater: NodeType[] | ((prev: NodeType[]) => NodeType[])) => void, (changes: NodeChange[]) => void]; /** * useEdgesState — mirrors React Flow's useEdgesState. * Returns [edges getter, setEdges, onEdgesChange handler]. */ export declare function useEdgesState(initialEdges: EdgeType[]): [() => EdgeType[], (updater: EdgeType[] | ((prev: EdgeType[]) => EdgeType[])) => void, (changes: EdgeChange[]) => void]; /** * useReactFlow — mirrors React Flow's useReactFlow hook. * Returns an object with common flow manipulation methods. */ export declare function useReactFlow(): { getNodes: () => NodeType[]; getEdges: () => EdgeType[]; getNode: (id: string) => NodeType | undefined; getZoom: () => number; getViewport: () => Viewport; setNodes: (valueOrFn: NodeType[] | ((prev: NodeType[]) => NodeType[])) => void; setEdges: (valueOrFn: EdgeType[] | ((prev: EdgeType[]) => EdgeType[])) => void; setViewport: (vp: Viewport) => void; setCenter: (x: number, y: number, options?: { zoom?: number; duration?: number; }) => void; fitView: (options?: import("./types.ts").FitViewOptions) => void; zoomIn: (options?: { duration?: number; }) => void; zoomOut: (options?: { duration?: number; }) => void; zoomTo: (zoom: number, options?: { duration?: number; }) => void; updateNode: (id: string, update: Partial | ((node: NodeType) => Partial)) => void; updateNodeData: (id: string, data: Partial | ((prev: NodeType['data']) => Partial)) => void; addEdges: (newEdges: EdgeType[]) => void; deleteElements: (params: { nodes?: NodeType[] | undefined; edges?: EdgeType[] | undefined; }) => void; screenToFlowPosition: (position: XYPosition) => XYPosition; }; /** * useViewport — reactive viewport getter. */ export { useViewport } from './hooks.ts'; /** * addEdge utility — wraps @xyflow/system's addEdge. */ export declare function addEdge(connection: Connection, edges: EdgeType[]): EdgeType[]; /** * reconnectEdge utility — wraps @xyflow/system's reconnectEdge. */ export declare function reconnectEdge(oldEdge: EdgeType, newConnection: Connection, edges: EdgeType[]): EdgeType[]; //# sourceMappingURL=compat.d.ts.map