import type { FlowElements } from '../types'; /** * Options for {@link autoLayout}. * @public */ export interface AutoLayoutOptions { /** Layout direction. Defaults to `'LR'` to match the editor's Left/Right handle defaults. */ rankdir?: 'LR' | 'RL' | 'TB' | 'BT'; /** Fallback node width when no measured size is supplied (the seed path has no DOM to measure). */ nodeWidth?: number; /** Fallback node height when no measured size is supplied. */ nodeHeight?: number; /** Measured per-node sizes (node id → box) — supplied by the on-demand "Auto-arrange" button. */ dimensions?: Record; } /** * Compute node positions for a workflow graph with dagre's layered (Sugiyama) algorithm. * * Pure and synchronous: takes VueFlow elements (nodes + edges) and returns a new elements array with * each node's `position` replaced by a laid-out coordinate; edges and every other node field are * passed through untouched. Used two ways — as the seed for an un-arranged workflow (fixed default * dimensions, no DOM) and behind the toolbar button (measured `dimensions`). * * Self-loop edges (`source === target`) are skipped: dagre doesn't rank them, and they're reserved * for the separate mutate-in-place self-transition feature. * @public */ export declare function autoLayout(elements: FlowElements, options?: AutoLayoutOptions): FlowElements; //# sourceMappingURL=autoLayout.d.ts.map