import type { App } from '../../App'; import type { Group } from '../../shapes/Group'; import type { EditorEdgeRecord } from './types'; export interface RerouteOptions { /** * Drop manual bend points on edges touching these node ids so intelligent * port picking / orthogonal routing can reorganize while dragging. */ clearWaypointsForNodes?: string[]; /** * When true, ignore all stored waypoints and rebuild every wire with * smart ports (used on drag end for a clean final layout). */ forgetAllWaypoints?: boolean; } /** Rebuild all connectors in the diagram edge layer from stored edge metadata. */ export declare function rerouteDiagramEdges(app: App, root: Group, edges?: EditorEdgeRecord[], opts?: RerouteOptions): void; /** * Drop manual bend points on edges touching `nodeId` so smart routing can * rebuild a clean path after rotate/move. Users can add bends again afterward. */ export declare function clearEdgeWaypointsForNode(root: Group, nodeId: string): void; /** Persist node positions into diagramState for JSON round-trip. */ export declare function syncPositionsToState(root: Group): void; export declare function syncEdgesToState(root: Group): void;