import { Edge, Node } from '@xyflow/react'; interface UseLayoutOperationsProps { nodes: Node[]; edges: Edge[]; selectedNodes: Node[]; layoutHidden: boolean; calculateLayout: (nodes: Node[], edges: Edge[], selectedNodes: Node[], signal: AbortSignal) => Promise<{ nodes: Node[]; edges: Edge[]; }>; updateNodes?: (nodes: Node[]) => void; updateEdges?: (edges: Edge[]) => void; setLayoutInProgress: (inProgress: boolean) => void; setNodeSpacing: (spacing: number) => void; setLayerSpacing: (spacing: number) => void; } export declare function useLayoutOperations({ nodes, edges, selectedNodes, layoutHidden, calculateLayout, updateNodes, updateEdges, setLayoutInProgress, setNodeSpacing, setLayerSpacing }: UseLayoutOperationsProps): { applyLayout: (inputNodes?: Node[], inputEdges?: Edge[]) => Promise<{ nodes: Node[]; edges: Edge[]; }>; pendingSpacingUpdateRef: import("react").RefObject<{ node?: number; layer?: number; } | null>; }; export {};