@dschz/solid-flow 0.3.0-next.0 → 0.3.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -142,6 +142,13 @@ type EdgeTypes = { [K in string]: {
142
142
  bivarianceHack(props: EdgeProps<Record<string, unknown>, string | undefined>): JSX.Element;
143
143
  }["bivarianceHack"]; };
144
144
  type DefaultEdgeOptions = DefaultEdgeOptionsBase<Edge>;
145
+ type EdgeLayouted<EdgeType extends Edge = Edge> = EdgeType & EdgePosition & {
146
+ sourceNode?: Node;
147
+ targetNode?: Node;
148
+ sourceHandleId?: string | null;
149
+ targetHandleId?: string | null;
150
+ edge: EdgeType;
151
+ };
145
152
  //#endregion
146
153
  //#region src/types/events.d.ts
147
154
  type NodeEventWithPointer<T = PointerEvent, NodeType extends Node = Node> = ({ node, event }: {
@@ -1154,6 +1161,158 @@ declare const SolidFlow: <NodeType extends Node = Node, EdgeType extends Edge =
1154
1161
  //#region src/components/SolidFlow/provider.d.ts
1155
1162
  declare const SolidFlowProvider: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(props: ParentProps<SolidFlowProps<NodeType, EdgeType>>) => JSX.Element;
1156
1163
  //#endregion
1164
+ //#region src/core/projections/connections.d.ts
1165
+ /**
1166
+ * Lookup keys for the connection index. Each edge is registered under six
1167
+ * keys — for both of its endpoints: the node, the node+handle-type, and (when
1168
+ * a handle id is present) the node+type+handle:
1169
+ * `${nodeId}` · `${nodeId}-${type}` · `${nodeId}-${type}-${handleId}`
1170
+ */
1171
+ declare const connectionKey: (nodeId: string, type?: HandleType, handleId?: string | null) => string;
1172
+ type ConnectionsRecord = Record<string, Record<string, HandleConnection$1>>;
1173
+ //#endregion
1174
+ //#region src/core/flowState.d.ts
1175
+ /**
1176
+ * The current selection, as one object: the pair travels together everywhere
1177
+ * it is consumed (selection change callbacks, deletion, toolbars).
1178
+ */
1179
+ type FlowSelection<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
1180
+ readonly nodes: readonly NodeType[];
1181
+ readonly edges: readonly EdgeType[];
1182
+ };
1183
+ /**
1184
+ * The flow's data graph as one reactive struct — the canonical read surface.
1185
+ *
1186
+ * Every property read in a tracked scope is a live subscription; the struct
1187
+ * itself is a stable identity for the provider's lifetime, so destructuring
1188
+ * `const { flow } = useSolidFlow()` is safe (reactivity lives inside the
1189
+ * property reads, not in the container). Reads in event handlers are
1190
+ * untracked, so `flow.viewport.zoom` inside a handler is already the
1191
+ * "imperative getter" — no extra API needed.
1192
+ *
1193
+ * Keyed lookups are id-keyed records (`flow.internalNodes[id]`) rather than
1194
+ * Maps: reactive property reads, per-key granularity, and the shape the
1195
+ * underlying projections produce natively.
1196
+ */
1197
+ type FlowState<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
1198
+ /** The user node graph. */
1199
+ readonly nodes: readonly NodeType[];
1200
+ /** The user edge graph. */
1201
+ readonly edges: readonly EdgeType[];
1202
+ /** Adopted nodes keyed by id: absolute positions, z order, measured dimensions, handle bounds. */
1203
+ readonly internalNodes: Record<string, InternalNode<NodeType>>;
1204
+ /** Screen-space edge geometry keyed by edge id; edges with missing/unmeasured endpoints have no entry. */
1205
+ readonly layoutedEdges: Record<string, EdgeLayouted<EdgeType>>;
1206
+ /**
1207
+ * The connection index. Keys are built with {@link connectionKey}:
1208
+ * `nodeId`, `nodeId-type`, and `nodeId-type-handleId`; each value maps a
1209
+ * connection pair key to its {@link HandleConnection}.
1210
+ */
1211
+ readonly connections: ConnectionsRecord;
1212
+ /** The currently selected nodes and edges. */
1213
+ readonly selection: FlowSelection<NodeType, EdgeType>;
1214
+ /** True once every non-hidden node has been measured. */
1215
+ readonly nodesInitialized: boolean;
1216
+ /** True once the pan/zoom instance exists. */
1217
+ readonly viewportInitialized: boolean;
1218
+ readonly viewport: Viewport$1;
1219
+ /** The flow container's measured width in px. */
1220
+ readonly width: number;
1221
+ /** The flow container's measured height in px. */
1222
+ readonly height: number;
1223
+ /** The resolved color mode ("system" resolves to the user's preference). */
1224
+ readonly colorMode: ColorModeClass$1;
1225
+ /** The in-progress connection gesture state. */
1226
+ readonly connection: ConnectionState<InternalNode<NodeType>>;
1227
+ /** True while a node drag is in progress. */
1228
+ readonly dragging: boolean;
1229
+ readonly minZoom: number;
1230
+ readonly maxZoom: number;
1231
+ readonly nodesDraggable: boolean;
1232
+ readonly nodesConnectable: boolean;
1233
+ readonly elementsSelectable: boolean;
1234
+ readonly snapGrid: SnapGrid$1 | undefined;
1235
+ };
1236
+ /**
1237
+ * The flow's write surface: every public mutation, viewport motion, and
1238
+ * geometry helper. Commands are stable identities — destructuring
1239
+ * `const { commands } = useSolidFlow()` is safe.
1240
+ */
1241
+ type FlowCommands<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
1242
+ /** Fits the view to the graph (or to `options.nodes`). */
1243
+ readonly fitView: (options?: FitViewOptions<NodeType>) => Promise<boolean>;
1244
+ /** Fits the view to the given bounds. */
1245
+ readonly fitBounds: (bounds: Rect$1, options?: FitBoundsOptions$1) => Promise<boolean>;
1246
+ /** Zooms in by 1.2. */
1247
+ readonly zoomIn: ZoomInOut;
1248
+ /** Zooms out by 1 / 1.2. */
1249
+ readonly zoomOut: ZoomInOut;
1250
+ /** Sets the zoom level. */
1251
+ readonly setZoom: (zoomLevel: number, options?: ViewportHelperFunctionOptions$1) => Promise<boolean>;
1252
+ /** Centers the view on the given flow position. */
1253
+ readonly setCenter: (x: number, y: number, options?: SetCenterOptions$1) => Promise<boolean>;
1254
+ /** Sets the viewport. */
1255
+ readonly setViewport: (viewport: Viewport$1, options?: ViewportHelperFunctionOptions$1) => Promise<boolean>;
1256
+ /** Pans the viewport by the given delta. */
1257
+ readonly panBy: (delta: XYPosition$1) => Promise<boolean>;
1258
+ /** Converts a screen/client position to a flow position. */
1259
+ readonly screenToFlowPosition: (clientPosition: XYPosition$1, options?: {
1260
+ snapToGrid: boolean;
1261
+ }) => XYPosition$1;
1262
+ /** Converts a flow position to a screen/client position. */
1263
+ readonly flowToScreenPosition: (flowPosition: XYPosition$1) => XYPosition$1;
1264
+ /** Appends one or many nodes. */
1265
+ readonly addNodes: (payload: NodeType[] | NodeType) => void;
1266
+ /** Appends one or many edges. */
1267
+ readonly addEdges: (payload: EdgeType[] | EdgeType) => void;
1268
+ /** Writes the nodes root (canonical Solid store setter — mutate the draft or return a new array). */
1269
+ readonly setNodes: StoreSetter<NodeType[]>;
1270
+ /** Writes the edges root (canonical Solid store setter — mutate the draft or return a new array). */
1271
+ readonly setEdges: StoreSetter<EdgeType[]>;
1272
+ /** Merges (or replaces, with `options.replace`) a node by id. */
1273
+ readonly updateNode: (id: string, nodeUpdate: Partial<NodeType> | ((node: NodeType) => Partial<NodeType>), options?: {
1274
+ replace: boolean;
1275
+ }) => void;
1276
+ /** Merges (or replaces, with `options.replace`) a node's `data` by id. */
1277
+ readonly updateNodeData: (id: string, dataUpdate: Partial<NodeType["data"]> | ((node: NodeType) => Partial<NodeType["data"]>), options?: {
1278
+ replace: boolean;
1279
+ }) => void;
1280
+ /** Merges (or replaces, with `options.replace`) an edge by id. */
1281
+ readonly updateEdge: (id: string, edgeUpdate: Partial<EdgeType> | ((edge: EdgeType) => Partial<EdgeType>), options?: {
1282
+ replace: boolean;
1283
+ }) => void;
1284
+ /** Deletes the given nodes/edges plus connected edges, honoring `onBeforeDelete`. */
1285
+ readonly deleteElements: (params: {
1286
+ nodes?: (Partial<NodeType> & {
1287
+ id: string;
1288
+ })[];
1289
+ edges?: (Partial<EdgeType> & {
1290
+ id: string;
1291
+ })[];
1292
+ }) => Promise<{
1293
+ deletedNodes: NodeType[];
1294
+ deletedEdges: EdgeType[];
1295
+ }>;
1296
+ /** All nodes intersecting the given node or rect. */
1297
+ readonly getIntersectingNodes: (nodeOrRect: NodeType | {
1298
+ id: NodeType["id"];
1299
+ } | Rect$1, partially?: boolean, nodesToIntersect?: NodeType[]) => NodeType[];
1300
+ /** Whether the given node or rect intersects the area. */
1301
+ readonly isNodeIntersecting: (nodeOrRect: NodeType | {
1302
+ id: NodeType["id"];
1303
+ } | Rect$1, area: Rect$1, partially?: boolean) => boolean;
1304
+ /** The bounding rect of the given nodes (or node ids). */
1305
+ readonly getNodesBounds: (nodes: (NodeType | InternalNode<NodeType> | string)[]) => Rect$1;
1306
+ /** Requests a DOM re-measure of the given node id(s). */
1307
+ readonly updateNodeInternals: (id: string | string[]) => void;
1308
+ /** The nodes, edges, and viewport as a plain JSON-safe object. */
1309
+ readonly toObject: () => {
1310
+ nodes: NodeType[];
1311
+ edges: EdgeType[];
1312
+ viewport: Viewport$1;
1313
+ };
1314
+ };
1315
+ //#endregion
1157
1316
  //#region src/data/createEdgeStore.d.ts
1158
1317
  type ExtractEdgeInfo<T> = T extends ((props: EdgeProps<infer TData, infer TType>) => unknown) ? {
1159
1318
  data: TData;
@@ -1429,265 +1588,62 @@ declare function useNodesData<NodeType extends Node = Node>(nodeIds: Accessor<st
1429
1588
  //#endregion
1430
1589
  //#region src/hooks/useSolidFlow.d.ts
1431
1590
  /**
1432
- * Hook for accessing the SvelteFlow instance.
1591
+ * The canonical flow API: the reactive {@link FlowState} struct plus the
1592
+ * {@link FlowCommands} write surface. Every command is also spread onto the
1593
+ * returned object directly for upstream (React Flow / Svelte Flow)
1594
+ * familiarity — `useSolidFlow().fitView()` and
1595
+ * `useSolidFlow().commands.fitView()` are the same function.
1433
1596
  *
1434
- * @public
1435
- * @returns A set of helper functions
1597
+ * The imperative getters are deprecated: event handlers are untracked scopes
1598
+ * in Solid, so reading `flow.viewport.zoom` (or `flow.internalNodes[id]`)
1599
+ * inside one already IS the imperative read — no wrapper needed — while the
1600
+ * same read in a tracked scope subscribes.
1436
1601
  */
1437
- declare function useSolidFlow<NodeType extends Node = Node, EdgeType extends Edge = Edge>(): {
1438
- /**
1439
- * Zooms viewport in by 1.2.
1440
- *
1441
- * @param options.duration - optional duration. If set, a transition will be applied
1442
- */
1443
- zoomIn: ZoomInOut;
1444
- /**
1445
- * Zooms viewport out by 1 / 1.2.
1446
- *
1447
- * @param options.duration - optional duration. If set, a transition will be applied
1448
- */
1449
- zoomOut: ZoomInOut;
1450
- /**
1451
- * Returns an internal node by id.
1452
- *
1453
- * @param id - the node id
1454
- * @returns the node or undefined if no node was found
1455
- */
1456
- getInternalNode: (id: string) => InternalNode<NodeType> | undefined;
1457
- /**
1458
- * Returns a node by id.
1459
- *
1460
- * @param id - the node id
1461
- * @returns the node or undefined if no node was found
1462
- */
1463
- getNode: (id: string) => NodeType | undefined;
1464
- /**
1465
- * Returns nodes.
1466
- *
1467
- * @returns nodes array
1468
- */
1469
- getNodes: (ids?: string[]) => NodeType[];
1470
- /**
1471
- * Returns an edge by id.
1472
- *
1473
- * @param id - the edge id
1474
- * @returns the edge or undefined if no edge was found
1475
- */
1476
- getEdge: (id: string) => EdgeType | undefined;
1477
- /**
1478
- * Returns edges.
1479
- *
1480
- * @returns edges array
1481
- */
1482
- getEdges: (ids?: string[]) => EdgeType[];
1483
- /**
1484
- * Add one or many nodes to your existing nodes array.
1485
- *
1486
- * @param payload - the nodes to add
1487
- */
1488
- addNodes: (payload: NodeType[] | NodeType) => void;
1489
- /**
1490
- * Add one or many edges to your existing edges array.
1491
- *
1492
- * @param payload - the edges to add
1493
- */
1494
- addEdges: (payload: EdgeType[] | EdgeType) => void;
1495
- /**
1496
- * Sets the current zoom level.
1497
- *
1498
- * @param zoomLevel - the zoom level to set
1499
- * @param options.duration - optional duration. If set, a transition will be applied
1500
- */
1501
- setZoom: (zoomLevel: number, options?: ViewportHelperFunctionOptions$1) => Promise<boolean>;
1502
- /**
1503
- * Returns the current zoom level.
1504
- *
1505
- * @returns current zoom as a number
1506
- */
1507
- getZoom: () => number;
1508
- /**
1509
- * Sets the center of the view to the given position.
1510
- *
1511
- * @param x - x position
1512
- * @param y - y position
1513
- * @param options.zoom - optional zoom
1514
- */
1515
- setCenter: (x: number, y: number, options?: SetCenterOptions$1) => Promise<boolean>;
1516
- /**
1517
- * Sets the current viewport.
1518
- *
1519
- * @param viewport - the viewport to set
1520
- * @param options.duration - optional duration. If set, a transition will be applied
1521
- */
1522
- setViewport: (viewport: Viewport$1, options?: ViewportHelperFunctionOptions$1) => Promise<boolean>;
1523
- /**
1524
- * Returns the current viewport.
1525
- *
1526
- * @returns Viewport
1527
- */
1528
- getViewport: () => Viewport$1;
1529
- /**
1530
- * Fits the view.
1531
- *
1532
- * @param options.padding - optional padding
1533
- * @param options.includeHiddenNodes - optional includeHiddenNodes
1534
- * @param options.minZoom - optional minZoom
1535
- * @param options.maxZoom - optional maxZoom
1536
- * @param options.duration - optional duration. If set, a transition will be applied
1537
- * @param options.nodes - optional nodes to fit the view to
1538
- */
1539
- fitView: (options?: FitViewOptions<NodeType>) => Promise<boolean>;
1540
- /**
1541
- * Returns all nodes that intersect with the given node or rect.
1542
- *
1543
- * @param node - the node or rect to check for intersections
1544
- * @param partially - if true, the node is considered to be intersecting if it partially overlaps with the passed node or rect
1545
- * @param nodes - optional nodes array to check for intersections
1546
- *
1547
- * @returns an array of intersecting nodes
1548
- */
1549
- getIntersectingNodes: (nodeOrRect: NodeType | {
1550
- id: NodeType["id"];
1551
- } | Rect$1, partially?: boolean, nodesToIntersect?: NodeType[]) => NodeType[];
1552
- /**
1553
- * Checks if the given node or rect intersects with the passed rect.
1554
- *
1555
- * @param node - the node or rect to check for intersections
1556
- * @param area - the rect to check for intersections
1557
- * @param partially - if true, the node is considered to be intersecting if it partially overlaps with the passed react
1558
- *
1559
- * @returns true if the node or rect intersects with the given area
1560
- */
1561
- isNodeIntersecting: (nodeOrRect: NodeType | {
1562
- id: NodeType["id"];
1563
- } | Rect$1, area: Rect$1, partially?: boolean) => boolean;
1564
- /**
1565
- * Fits the view to the given bounds .
1566
- *
1567
- * @param bounds - the bounds ({ x: number, y: number, width: number, height: number }) to fit the view to
1568
- * @param options.padding - optional padding
1569
- */
1570
- fitBounds: (bounds: Rect$1, options?: FitBoundsOptions$1) => Promise<boolean>;
1571
- /**
1572
- * Deletes nodes and edges.
1573
- *
1574
- * @param params.nodes - optional nodes array to delete
1575
- * @param params.edges - optional edges array to delete
1576
- *
1577
- * @returns a promise that resolves with the deleted nodes and edges
1578
- */
1579
- deleteElements: ({ nodes, edges }: {
1580
- nodes?: (Partial<NodeType> & {
1581
- id: string;
1582
- })[];
1583
- edges?: (Partial<EdgeType> & {
1584
- id: string;
1585
- })[];
1586
- }) => Promise<{
1587
- deletedNodes: NodeType[];
1588
- deletedEdges: EdgeType[];
1589
- }>;
1590
- /**
1591
- * Converts a screen / client position to a flow position.
1592
- *
1593
- * @param clientPosition - the screen / client position. When you are working with events you can use event.clientX and event.clientY
1594
- * @param options.snapToGrid - if true, the converted position will be snapped to the grid
1595
- * @returns position as { x: number, y: number }
1596
- *
1597
- * @example
1598
- * const flowPosition = screenToFlowPosition({ x: event.clientX, y: event.clientY })
1599
- */
1600
- screenToFlowPosition: (clientPosition: XYPosition$1, options?: {
1601
- snapToGrid: boolean;
1602
- }) => XYPosition$1;
1603
- /**
1604
- * Converts a flow position to a screen / client position.
1605
- *
1606
- * @param flowPosition - the screen / client position. When you are working with events you can use event.clientX and event.clientY
1607
- * @returns position as { x: number, y: number }
1608
- *
1609
- * @example
1610
- * const clientPosition = flowToScreenPosition({ x: node.position.x, y: node.position.y })
1611
- */
1612
- flowToScreenPosition: (flowPosition: XYPosition$1) => XYPosition$1;
1613
- /**
1614
- * Updates a node.
1615
- *
1616
- * @param id - id of the node to update
1617
- * @param nodeUpdate - the node update as an object or a function that receives the current node and returns the node update
1618
- * @param options.replace - if true, the node is replaced with the node update, otherwise the changes get merged
1619
- *
1620
- * @example
1621
- * updateNode('node-1', (node) => ({ position: { x: node.position.x + 10, y: node.position.y } }));
1622
- */
1623
- updateNode: (id: string, nodeUpdate: Partial<NodeType> | ((node: NodeType) => Partial<NodeType>), options?: {
1624
- replace: boolean;
1625
- }) => void;
1626
- /**
1627
- * Updates the data attribute of a node.
1628
- *
1629
- * @param id - id of the node to update
1630
- * @param dataUpdate - the data update as an object or a function that receives the current data and returns the data update
1631
- * @param options.replace - if true, the data is replaced with the data update, otherwise the changes get merged
1632
- *
1633
- * @example
1634
- * updateNodeData('node-1', { label: 'A new label' });
1635
- */
1636
- updateNodeData: (id: string, dataUpdate: Partial<NodeType["data"]> | ((node: NodeType) => Partial<NodeType["data"]>), options?: {
1637
- replace: boolean;
1638
- }) => void;
1639
- /**
1640
- * Returns the nodes, edges and the viewport as a JSON object.
1641
- *
1642
- * @returns the nodes, edges and the viewport as a JSON object
1643
- */
1644
- /**
1645
- * Updates an edge.
1646
- *
1647
- * @param id - id of the edge to update
1648
- * @param edgeUpdate - the edge update as an object or a function that receives the current edge and returns the edge update
1649
- * @param options.replace - if true, the edge is replaced with the edge update, otherwise the changes get merged
1650
- *
1651
- * @example
1652
- * updateNode('node-1', (node) => ({ position: { x: node.position.x + 10, y: node.position.y } }));
1653
- */
1654
- updateEdge: (id: string, edgeUpdate: Partial<EdgeType> | ((edge: EdgeType) => Partial<EdgeType>), options?: {
1655
- replace: boolean;
1656
- }) => void;
1657
- toObject: () => {
1658
- nodes: NodeType[];
1659
- edges: EdgeType[];
1660
- viewport: Viewport$1;
1661
- };
1662
- /**
1663
- * Returns the bounds of the given nodes or node ids.
1664
- *
1665
- * @param nodes - the nodes or node ids to calculate the bounds for
1666
- *
1667
- * @returns the bounds of the given nodes
1668
- */
1669
- getNodesBounds: (nodes: (NodeType | InternalNode<NodeType> | string)[]) => Rect$1;
1670
- /** Gets all connections for a given handle belonging to a specific node.
1671
- *
1672
- * @param type - handle type 'source' or 'target'
1673
- * @param id - the handle id (this is only needed if you have multiple handles of the same type, meaning you have to provide a unique id for each handle)
1674
- * @param nodeId - the node id the handle belongs to
1675
- * @returns an array with handle connections
1676
- */
1677
- getHandleConnections: ({ type, id, nodeId }: {
1602
+ type UseSolidFlowReturn<NodeType extends Node = Node, EdgeType extends Edge = Edge> = FlowCommands<NodeType, EdgeType> & {
1603
+ /** The flow's data graph as one reactive struct — the canonical read surface. */
1604
+ readonly flow: FlowState<NodeType, EdgeType>;
1605
+ /** The flow's write surface (same functions as the spread members). */
1606
+ readonly commands: FlowCommands<NodeType, EdgeType>;
1607
+ /** @deprecated Read `flow.internalNodes[id]` instead. */
1608
+ readonly getInternalNode: (id: string) => InternalNode<NodeType> | undefined;
1609
+ /** @deprecated Read `flow.internalNodes[id]?.internals.userNode` (or find in `flow.nodes`) instead. */
1610
+ readonly getNode: (id: string) => NodeType | undefined;
1611
+ /** @deprecated Read `flow.nodes` (or map ids over `flow.internalNodes`) instead. */
1612
+ readonly getNodes: (ids?: string[]) => NodeType[];
1613
+ /** @deprecated Read `flow.edges` (or find by id) instead. */
1614
+ readonly getEdge: (id: string) => EdgeType | undefined;
1615
+ /** @deprecated Read `flow.edges` (or filter by ids) instead. */
1616
+ readonly getEdges: (ids?: string[]) => EdgeType[];
1617
+ /** @deprecated Read `flow.viewport` instead. */
1618
+ readonly getViewport: () => Viewport$1;
1619
+ /** @deprecated Read `flow.viewport.zoom` instead. */
1620
+ readonly getZoom: () => number;
1621
+ /** @deprecated Read `flow.connections[connectionKey(nodeId, type, id)]` (or use `useNodeConnections`) instead. */
1622
+ readonly getHandleConnections: (params: {
1678
1623
  type: HandleType;
1679
1624
  nodeId: string;
1680
1625
  id?: string | null;
1681
1626
  }) => HandleConnection$1[];
1682
1627
  };
1628
+ /**
1629
+ * Hook for accessing the flow instance: `{ flow, commands }` plus the
1630
+ * commands spread at the top level for upstream familiarity.
1631
+ *
1632
+ * `flow` and `commands` are stable identities, so destructuring them is safe:
1633
+ * `const { flow, commands } = useSolidFlow()`.
1634
+ *
1635
+ * @public
1636
+ * @returns the flow's read struct, write surface, and deprecated aliases
1637
+ */
1638
+ declare function useSolidFlow<NodeType extends Node = Node, EdgeType extends Edge = Edge>(): UseSolidFlowReturn<NodeType, EdgeType>;
1683
1639
  //#endregion
1684
1640
  //#region src/hooks/useUpdateNodeInternals.d.ts
1685
1641
  /**
1686
- * Hook for updating node internals.
1642
+ * Hook for updating node internals. Sugar for `commands.updateNodeInternals`.
1687
1643
  *
1688
1644
  * @public
1689
1645
  * @returns function for updating node internals
1690
1646
  */
1691
1647
  declare function useUpdateNodeInternals(): UpdateNodeInternals;
1692
1648
  //#endregion
1693
- export { type Align, type AriaLabelConfig, Background, type BackgroundProps, type BackgroundVariant, BaseEdge, BezierEdge, BezierEdgeInternal, type BezierEdgeProps, type BezierPathOptions, type Box, type BuiltInEdge, type BuiltInNode, type BuiltInNodeTypes, type ColorMode, type ColorModeClass, type Connection, ConnectionData, ConnectionLine, type ConnectionLineComponentProps, ConnectionLineType, ConnectionMode, ControlButton, type ControlLinePosition, type ControlPosition, Controls, type CoordinateExtent, type DefaultEdgeOptions, DefaultNode, DeleteEvents, type Dimensions, type Edge, EdgeConnection, EdgeEvents, EdgeLabel, EdgeLabelRenderer, type EdgeMarker, type EdgeMarkerType, type EdgeProps, EdgeReconnectAnchor, EdgeReconnectEvents, EdgeRenderer, EdgeToolbar, EdgeToolbarProps, type EdgeTypes, EdgeWrapper, type FitBounds, type FitBoundsOptions, FitViewOptions, type GetBezierPathParams, type GetSmoothStepPathParams, type GetStraightPathParams, GroupNode, Handle, type HandleConnection, InputNode, type InternalNode, IsValidConnection, KeyDefinition, KeyDefinitionObject, KeyModifier, Marker, MarkerDefinition, MarkerType, MiniMap, type Node, type NodeConnection, NodeEvents, NodeGraph, type NodeOrigin, type NodeProps, NodeRenderer, NodeResizer, NodeSelection, NodeSelectionEvents, NodeToolbar, NodeToolbarProps, type NodeTypes, NodeWrapper, OnBeforeDelete, OnBeforeEdgeConnect, OnBeforeReconnect, type OnConnect, type OnConnectEnd, type OnConnectStart, type OnConnectStartParams, OnDelete, OnEdgeConnect, OnEdgeCreate, type OnError, type OnMove, type OnMoveEnd, type OnMoveStart, type OnReconnect, type OnReconnectEnd, type OnReconnectStart, type OnResize, type OnResizeEnd, type OnResizeStart, OnSelectionChange, OnSelectionDrag, OutputNode, PanOnScrollMode, Pane, PaneEvents, Panel, type PanelPosition, Position$1 as Position, type ProOptions, type Rect, ResizeControl, ResizeControlVariant, type ResizeDragEvent, type ResizeParams, type ResizeParamsWithDirection, Selection, SelectionMode, type SelectionRect, type SetCenter, type SetCenterOptions, type SetViewport, ShortcutModifier, ShortcutModifierDefinition, type ShouldResize, SmoothStepEdge, SmoothStepEdgeInternal, type SmoothStepEdgeProps, type SmoothStepPathOptions, type SnapGrid, SolidFlow, SolidFlowProvider, StepEdge, StepEdgeInternal, type StepEdgeProps, StraightEdge, StraightEdgeInternal, type StraightEdgeProps, type Transform, Viewport, type ViewportHelperFunctionOptions, ViewportPortal, type XYPosition, type XYZPosition, Zoom, addEdge, createEdgeStore, createNodeStore, getBezierEdgeCenter, getBezierPath, getConnectedEdges, getEdgeCenter, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds, useColorMode, useConnection, useEdges, useHandleEdgeSelect, useInternalNode, useNodeConnections, useNodes, useNodesData, useNodesInitialized, useSolidFlow, useUpdateNodeInternals, useViewport, useViewportInitialized };
1649
+ export { type Align, type AriaLabelConfig, Background, type BackgroundProps, type BackgroundVariant, BaseEdge, BezierEdge, BezierEdgeInternal, type BezierEdgeProps, type BezierPathOptions, type Box, type BuiltInEdge, type BuiltInNode, type BuiltInNodeTypes, type ColorMode, type ColorModeClass, type Connection, ConnectionData, ConnectionLine, type ConnectionLineComponentProps, ConnectionLineType, ConnectionMode, type ConnectionsRecord, ControlButton, type ControlLinePosition, type ControlPosition, Controls, type CoordinateExtent, type DefaultEdgeOptions, DefaultNode, DeleteEvents, type Dimensions, type Edge, EdgeConnection, EdgeEvents, EdgeLabel, EdgeLabelRenderer, type EdgeMarker, type EdgeMarkerType, type EdgeProps, EdgeReconnectAnchor, EdgeReconnectEvents, EdgeRenderer, EdgeToolbar, EdgeToolbarProps, type EdgeTypes, EdgeWrapper, type FitBounds, type FitBoundsOptions, FitViewOptions, type FlowCommands, type FlowSelection, type FlowState, type GetBezierPathParams, type GetSmoothStepPathParams, type GetStraightPathParams, GroupNode, Handle, type HandleConnection, InputNode, type InternalNode, IsValidConnection, KeyDefinition, KeyDefinitionObject, KeyModifier, Marker, MarkerDefinition, MarkerType, MiniMap, type Node, type NodeConnection, NodeEvents, NodeGraph, type NodeOrigin, type NodeProps, NodeRenderer, NodeResizer, NodeSelection, NodeSelectionEvents, NodeToolbar, NodeToolbarProps, type NodeTypes, NodeWrapper, OnBeforeDelete, OnBeforeEdgeConnect, OnBeforeReconnect, type OnConnect, type OnConnectEnd, type OnConnectStart, type OnConnectStartParams, OnDelete, OnEdgeConnect, OnEdgeCreate, type OnError, type OnMove, type OnMoveEnd, type OnMoveStart, type OnReconnect, type OnReconnectEnd, type OnReconnectStart, type OnResize, type OnResizeEnd, type OnResizeStart, OnSelectionChange, OnSelectionDrag, OutputNode, PanOnScrollMode, Pane, PaneEvents, Panel, type PanelPosition, Position$1 as Position, type ProOptions, type Rect, ResizeControl, ResizeControlVariant, type ResizeDragEvent, type ResizeParams, type ResizeParamsWithDirection, Selection, SelectionMode, type SelectionRect, type SetCenter, type SetCenterOptions, type SetViewport, ShortcutModifier, ShortcutModifierDefinition, type ShouldResize, SmoothStepEdge, SmoothStepEdgeInternal, type SmoothStepEdgeProps, type SmoothStepPathOptions, type SnapGrid, SolidFlow, SolidFlowProvider, StepEdge, StepEdgeInternal, type StepEdgeProps, StraightEdge, StraightEdgeInternal, type StraightEdgeProps, type Transform, UseSolidFlowReturn, Viewport, type ViewportHelperFunctionOptions, ViewportPortal, type XYPosition, type XYZPosition, Zoom, addEdge, connectionKey, createEdgeStore, createNodeStore, getBezierEdgeCenter, getBezierPath, getConnectedEdges, getEdgeCenter, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, getViewportForBounds, useColorMode, useConnection, useEdges, useHandleEdgeSelect, useInternalNode, useNodeConnections, useNodes, useNodesData, useNodesInitialized, useSolidFlow, useUpdateNodeInternals, useViewport, useViewportInitialized };