import { Node, Edge } from '@xyflow/react'; import { LayoutDirection, LayoutEngine } from '../context/LayoutContext'; export interface LayoutConfig { dagreDirection: string; nodeParentIdMapWithChildIdSet: Map>; nodeIdWithNode: Map; nodes: Node[]; edges: Edge[]; margin: number; nodeSpacing: number; layerSpacing: number; nodeWidth: number; nodeHeight: number; layoutHidden?: boolean; noParentKey?: string; } /** * Process selected node IDs for layout calculations (refactored to use LayoutConfig) */ export declare const processSelectedNodes: (selectedNodes: Node[], config: LayoutConfig, signal?: AbortSignal) => Promise<{ nodes: Node[]; edges: Edge[]; }>; /** * Hook for layout calculation functionality */ export declare const useLayoutCalculation: (layoutEngines: Record, direction: LayoutDirection, algorithm: string, parentResizingOptions: any, nodeParentIdMapWithChildIdSet: Map>, nodeIdWithNode: Map, nodeSpacing: number, layerSpacing: number, nodeWidth?: number, nodeHeight?: number, layoutHidden?: boolean, noParentKey?: string) => { calculateLayout: (nodes: Node[], edges: Edge[], selectedNodes?: Node[], signal?: AbortSignal) => Promise<{ nodes: Node[]; edges: Edge[]; }>; };