@focus.matters/diagrams 0.0.9 → 0.1.0

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.
Files changed (203) hide show
  1. package/dist/{DirectedPoint-HRgiLZeU.js → DirectedPoint-BcpEj8ub.js} +2 -2
  2. package/dist/DirectedPoint-BcpEj8ub.js.map +1 -0
  3. package/dist/diagrams.css +1 -1
  4. package/dist/index-hTkL5cDr.js +12037 -0
  5. package/dist/index-hTkL5cDr.js.map +1 -0
  6. package/dist/index.d.ts +1 -8
  7. package/dist/index.es.js +8 -6
  8. package/dist/index.umd.js +5 -4
  9. package/dist/index.umd.js.map +1 -1
  10. package/dist/{Diagrams → src/Diagrams}/components/Canvas.d.ts +1 -0
  11. package/dist/src/Diagrams/components/extensions/RenderDiagramExtensions.d.ts +4 -0
  12. package/dist/src/Diagrams/components/extensions/RenderUIExtensions.d.ts +4 -0
  13. package/dist/{Diagrams → src/Diagrams}/components/extra/AlignmentSuggestions.d.ts +1 -0
  14. package/dist/{Diagrams → src/Diagrams}/components/extra/GatewayRender.d.ts +1 -0
  15. package/dist/src/Diagrams/components/extra/NodeGatewayRender.d.ts +6 -0
  16. package/dist/src/Diagrams/components/objects/CustomRenderers.d.ts +4 -0
  17. package/dist/src/Diagrams/components/objects/EdgeLabels.d.ts +7 -0
  18. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMarker.d.ts +1 -0
  19. package/dist/src/Diagrams/components/objects/RenderEdge/buildEdgePath.d.ts +5 -0
  20. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/debugEdges.d.ts +4 -4
  21. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/index.d.ts +1 -0
  22. package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/types.d.ts +3 -2
  23. package/dist/src/Diagrams/components/objects/ScreenRenderers.d.ts +4 -0
  24. package/dist/{Diagrams → src/Diagrams}/components/objects/Shape.d.ts +3 -3
  25. package/dist/src/Diagrams/components/objects/Shapes.d.ts +2 -0
  26. package/dist/{Diagrams → src/Diagrams}/components/objects/customRendererProps.d.ts +1 -1
  27. package/dist/src/Diagrams/components/objects/edgeLabelPlacement.d.ts +4 -0
  28. package/dist/src/Diagrams/components/objects/screenRendererProps.d.ts +18 -0
  29. package/dist/{Diagrams → src/Diagrams}/custom/agent/edges/AgentEdge.d.ts +20 -2
  30. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ActionNode.d.ts +1 -1
  31. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/AgentNode.d.ts +21 -2
  32. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/ConditionNode.d.ts +1 -1
  33. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/OutcomeNode.d.ts +1 -1
  34. package/dist/{Diagrams → src/Diagrams}/custom/agent/nodes/TriggerNode.d.ts +1 -1
  35. package/dist/{Diagrams → src/Diagrams}/custom/agent/types.d.ts +6 -6
  36. package/dist/src/Diagrams/custom/bpmn/BPMDiagram.d.ts +14 -0
  37. package/dist/src/Diagrams/custom/bpmn/bpmnEvents.d.ts +4 -0
  38. package/dist/src/Diagrams/custom/bpmn/config/BPMNElementCatalog.d.ts +26 -0
  39. package/dist/src/Diagrams/custom/bpmn/config/BPMNLabels.d.ts +27 -0
  40. package/dist/src/Diagrams/custom/bpmn/edges/BPMNEdge.d.ts +77 -0
  41. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNArtifactTransformer.d.ts +5 -0
  42. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNEventAttachments.d.ts +19 -0
  43. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNGridSnap.d.ts +23 -0
  44. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNLaneResizer.d.ts +20 -0
  45. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNModelerExtension.d.ts +97 -0
  46. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNNodeResizer.d.ts +31 -0
  47. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNPropertyChangeEvent.d.ts +4 -0
  48. package/dist/src/Diagrams/custom/bpmn/extensions/BPMNResizeSuggester.d.ts +23 -0
  49. package/dist/src/Diagrams/custom/bpmn/nodes/BPMNEventDefinition.d.ts +28 -0
  50. package/dist/src/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +15 -0
  51. package/dist/src/Diagrams/custom/bpmn/nodes/BlackBoxPoolNode.d.ts +17 -0
  52. package/dist/src/Diagrams/custom/bpmn/nodes/DataStoreNode.d.ts +14 -0
  53. package/dist/src/Diagrams/custom/bpmn/nodes/DocumentAnnotationNode.d.ts +19 -0
  54. package/dist/src/Diagrams/custom/bpmn/nodes/DocumentNode.d.ts +13 -0
  55. package/dist/src/Diagrams/custom/bpmn/nodes/EventNode.d.ts +130 -0
  56. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/GateNode.d.ts +30 -3
  57. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/LaneScreenRenderer.d.ts +6 -0
  58. package/dist/src/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +131 -0
  59. package/dist/src/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +114 -0
  60. package/dist/{Diagrams/custom/bpmn/nodes/EventNode.d.ts → src/Diagrams/custom/bpmn/nodes/TextAnnotationNode.d.ts} +33 -16
  61. package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/UnknownBPMNNode.d.ts +22 -3
  62. package/dist/src/Diagrams/custom/bpmn/ui/BPMNDiagramControls.d.ts +6 -0
  63. package/dist/src/Diagrams/custom/bpmn/ui/BPMNElementMenu.d.ts +11 -0
  64. package/dist/src/Diagrams/custom/bpmn/ui/BPMNIcon.d.ts +9 -0
  65. package/dist/src/Diagrams/custom/bpmn/ui/BPMNPropertiesPanel.d.ts +6 -0
  66. package/dist/src/Diagrams/custom/bpmn/ui/BPMNResizeHandle.d.ts +7 -0
  67. package/dist/src/Diagrams/custom/bpmn/ui/resolveToolbarMenuPlacement.d.ts +18 -0
  68. package/dist/src/Diagrams/custom/bpmn/ui/resolveVisibleEdgeToolbarAnchor.d.ts +4 -0
  69. package/dist/src/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +9 -0
  70. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationActorNode.d.ts +1 -1
  71. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationControllerNode.d.ts +1 -1
  72. package/dist/{Diagrams → src/Diagrams}/custom/communication/nodes/CommunicationObjectNode.d.ts +1 -1
  73. package/dist/src/Diagrams/custom/communication/types.d.ts +1 -0
  74. package/dist/src/Diagrams/custom/editable/EditableLabel.d.ts +8 -0
  75. package/dist/src/Diagrams/custom/editable/EditableNode.d.ts +21 -0
  76. package/dist/{Diagrams → src/Diagrams}/store/Canvas.d.ts +16 -6
  77. package/dist/{Diagrams → src/Diagrams}/store/Diagram.d.ts +77 -19
  78. package/dist/src/Diagrams/store/elements/DEdgeLabelChangeEvent.d.ts +5 -0
  79. package/dist/src/Diagrams/store/elements/Edge.d.ts +92 -0
  80. package/dist/src/Diagrams/store/elements/EdgeLabel.d.ts +64 -0
  81. package/dist/{Diagrams → src/Diagrams}/store/elements/EdgePoint.d.ts +4 -4
  82. package/dist/{Diagrams → src/Diagrams}/store/elements/Events.d.ts +11 -11
  83. package/dist/{Diagrams → src/Diagrams}/store/elements/Gateway.d.ts +27 -7
  84. package/dist/src/Diagrams/store/elements/Node.d.ts +143 -0
  85. package/dist/{Diagrams → src/Diagrams}/store/extensions/Creator.d.ts +1 -1
  86. package/dist/src/Diagrams/store/extensions/DiagramExtension.d.ts +23 -0
  87. package/dist/{Diagrams → src/Diagrams}/store/extensions/DistancesBalancer.d.ts +7 -1
  88. package/dist/{Diagrams → src/Diagrams}/store/extensions/Dragger.d.ts +20 -5
  89. package/dist/{Diagrams → src/Diagrams}/store/extensions/EdgesDragger.d.ts +38 -27
  90. package/dist/src/Diagrams/store/extensions/History.d.ts +23 -0
  91. package/dist/{Diagrams → src/Diagrams}/store/extensions/Hotkeys.d.ts +4 -1
  92. package/dist/src/Diagrams/store/extensions/LabelsAligner.d.ts +21 -0
  93. package/dist/src/Diagrams/store/extensions/NodesAligner.d.ts +46 -0
  94. package/dist/src/Diagrams/store/extensions/NodesConnector.d.ts +56 -0
  95. package/dist/{Diagrams → src/Diagrams}/store/extensions/Priorities.d.ts +2 -1
  96. package/dist/{Diagrams → src/Diagrams}/store/extensions/Rules.d.ts +6 -1
  97. package/dist/{Diagrams → src/Diagrams}/store/extensions/Selector.d.ts +18 -5
  98. package/dist/{Diagrams → src/Diagrams}/store/extensions/StraightDrag.d.ts +3 -0
  99. package/dist/src/Diagrams/store/extensions/StraightLabelsDrag.d.ts +10 -0
  100. package/dist/src/Diagrams/store/extensions/nodePositionProposalRanking.d.ts +8 -0
  101. package/dist/{Diagrams → src/Diagrams}/store/primitives/Coordinates.d.ts +1 -1
  102. package/dist/src/Diagrams/store/routers/CurvedRouter.d.ts +13 -0
  103. package/dist/src/Diagrams/store/routers/EdgesRouter.d.ts +21 -0
  104. package/dist/src/Diagrams/store/routers/OrthogonalRouter.d.ts +16 -0
  105. package/dist/src/Diagrams/store/routers/StraightRouter.d.ts +13 -0
  106. package/dist/src/Diagrams/store/routers/cardinalAxisConstraint.d.ts +7 -0
  107. package/dist/src/Diagrams/store/routers/getEdgesRouter.d.ts +4 -0
  108. package/dist/src/Diagrams/store/routers/resolveConnectionCandidate.d.ts +22 -0
  109. package/dist/{Diagrams → src/Diagrams}/store/types.d.ts +18 -9
  110. package/dist/src/Diagrams/util/Autopan.d.ts +14 -0
  111. package/dist/{Diagrams → src/Diagrams}/util/bpmn/applyBPMNImportPlan.d.ts +1 -0
  112. package/dist/{Diagrams → src/Diagrams}/util/bpmn/buildBPMNImportPlan.d.ts +1 -1
  113. package/dist/{Diagrams → src/Diagrams}/util/bpmn/index.d.ts +2 -1
  114. package/dist/src/Diagrams/util/bpmn/sanitizeId.d.ts +2 -0
  115. package/dist/{Diagrams → src/Diagrams}/util/bpmn/types.d.ts +2 -1
  116. package/dist/{Diagrams → src/Diagrams}/util/paths/orthogonalRouter.d.ts +2 -0
  117. package/dist/src/index.d.ts +11 -0
  118. package/package.json +1 -1
  119. package/dist/Diagrams/components/objects/CustomRenderers.d.ts +0 -6
  120. package/dist/Diagrams/components/objects/Shapes.d.ts +0 -1
  121. package/dist/Diagrams/custom/bpmn/BPMDiagram.d.ts +0 -5
  122. package/dist/Diagrams/custom/bpmn/bpmnEvents.d.ts +0 -3
  123. package/dist/Diagrams/custom/bpmn/nodes/BPMNode.d.ts +0 -6
  124. package/dist/Diagrams/custom/bpmn/nodes/Lanes/LanesResizer.d.ts +0 -6
  125. package/dist/Diagrams/custom/bpmn/nodes/Lanes/index.d.ts +0 -66
  126. package/dist/Diagrams/custom/bpmn/nodes/TaskNode.d.ts +0 -9
  127. package/dist/Diagrams/custom/communication/edges/CommunicationEdge.d.ts +0 -35
  128. package/dist/Diagrams/custom/communication/types.d.ts +0 -1
  129. package/dist/Diagrams/custom/editable/EditableLabel.d.ts +0 -3
  130. package/dist/Diagrams/custom/editable/EditableNode.d.ts +0 -15
  131. package/dist/Diagrams/custom/editable/EditableNodeContext.d.ts +0 -3
  132. package/dist/Diagrams/store/elements/Edge.d.ts +0 -42
  133. package/dist/Diagrams/store/elements/Node.d.ts +0 -73
  134. package/dist/Diagrams/store/extensions/DiagramExtension.d.ts +0 -13
  135. package/dist/Diagrams/store/extensions/History.d.ts +0 -15
  136. package/dist/Diagrams/store/extensions/NodesAligner.d.ts +0 -19
  137. package/dist/Diagrams/store/extensions/NodesConnector.d.ts +0 -27
  138. package/dist/Diagrams/util/paths/findBestPathBetweenNodes.d.ts +0 -8
  139. package/dist/DirectedPoint-HRgiLZeU.js.map +0 -1
  140. package/dist/index-DZNvKq1b.js +0 -6657
  141. package/dist/index-DZNvKq1b.js.map +0 -1
  142. /package/dist/{Diagrams → src/Diagrams}/DiagramEditor.d.ts +0 -0
  143. /package/dist/{Diagrams → src/Diagrams}/components/extra/Measurement.d.ts +0 -0
  144. /package/dist/{Diagrams → src/Diagrams}/components/extra/MouseTracker.d.ts +0 -0
  145. /package/dist/{Diagrams → src/Diagrams}/components/extra/NodesConnectorRenderer.d.ts +0 -0
  146. /package/dist/{Diagrams → src/Diagrams}/components/extra/PathFindingRenderer.d.ts +0 -0
  147. /package/dist/{Diagrams → src/Diagrams}/components/extra/Selection.d.ts +0 -0
  148. /package/dist/{Diagrams → src/Diagrams}/components/extra/Stats.d.ts +0 -0
  149. /package/dist/{Diagrams → src/Diagrams}/components/extra/Svg.d.ts +0 -0
  150. /package/dist/{Diagrams → src/Diagrams}/components/extra/Theme.d.ts +0 -0
  151. /package/dist/{Diagrams → src/Diagrams}/components/extra/ToolsState.d.ts +0 -0
  152. /package/dist/{Diagrams → src/Diagrams}/components/nodes/NodeTools.d.ts +0 -0
  153. /package/dist/{Diagrams → src/Diagrams}/components/objects/Cross.d.ts +0 -0
  154. /package/dist/{Diagrams → src/Diagrams}/components/objects/Grid.d.ts +0 -0
  155. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/EdgeMidpoints.d.ts +0 -0
  156. /package/dist/{Diagrams → src/Diagrams}/components/objects/RenderEdge/util.d.ts +0 -0
  157. /package/dist/{Diagrams → src/Diagrams}/components/objects/makeScalableComponent.d.ts +0 -0
  158. /package/dist/{Diagrams → src/Diagrams}/context-menu/ContextMenu.d.ts +0 -0
  159. /package/dist/{Diagrams → src/Diagrams}/context-menu/buildDiagramContextMenu.d.ts +0 -0
  160. /package/dist/{Diagrams → src/Diagrams}/context-menu/index.d.ts +0 -0
  161. /package/dist/{Diagrams → src/Diagrams}/context-menu/types.d.ts +0 -0
  162. /package/dist/{Diagrams → src/Diagrams}/custom/agent/AgentDiagram.d.ts +0 -0
  163. /package/dist/{Diagrams → src/Diagrams}/custom/agent/index.d.ts +0 -0
  164. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/edges/EdgeWithLoad.d.ts +0 -0
  165. /package/dist/{Diagrams → src/Diagrams}/custom/bpmn/nodes/BPMNNodeContext.d.ts +0 -0
  166. /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationDiagram.d.ts +0 -0
  167. /package/dist/{Diagrams → src/Diagrams}/custom/communication/CommunicationNode.d.ts +0 -0
  168. /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditableDiagram.d.ts +0 -0
  169. /package/dist/{Diagrams → src/Diagrams}/custom/editable/EditionMode.d.ts +0 -0
  170. /package/dist/{Diagrams → src/Diagrams}/custom/editable/events.d.ts +0 -0
  171. /package/dist/{Diagrams → src/Diagrams}/layout/HStack.d.ts +0 -0
  172. /package/dist/{Diagrams → src/Diagrams}/store/elements/Element.d.ts +0 -0
  173. /package/dist/{Diagrams → src/Diagrams}/store/elements/EventsMouseInformation.d.ts +0 -0
  174. /package/dist/{Diagrams → src/Diagrams}/store/elements/TextNode.d.ts +0 -0
  175. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Debugger.d.ts +0 -0
  176. /package/dist/{Diagrams → src/Diagrams}/store/extensions/GridSnap.d.ts +0 -0
  177. /package/dist/{Diagrams → src/Diagrams}/store/extensions/Measurer.d.ts +0 -0
  178. /package/dist/{Diagrams → src/Diagrams}/store/extensions/NodesResizer.d.ts +0 -0
  179. /package/dist/{Diagrams → src/Diagrams}/store/extensions/PathFindingRenderer.d.ts +0 -0
  180. /package/dist/{Diagrams → src/Diagrams}/store/primitives/Dimensions.d.ts +0 -0
  181. /package/dist/{Diagrams → src/Diagrams}/store/primitives/DirectedPoint.d.ts +0 -0
  182. /package/dist/{Diagrams → src/Diagrams}/util/ClassList.d.ts +0 -0
  183. /package/dist/{Diagrams → src/Diagrams}/util/Mouse.d.ts +0 -0
  184. /package/dist/{Diagrams → src/Diagrams}/util/Mutex.d.ts +0 -0
  185. /package/dist/{Diagrams → src/Diagrams}/util/PriorityQueue.d.ts +0 -0
  186. /package/dist/{Diagrams → src/Diagrams}/util/Semaphore.d.ts +0 -0
  187. /package/dist/{Diagrams → src/Diagrams}/util/TasksQueue.d.ts +0 -0
  188. /package/dist/{Diagrams → src/Diagrams}/util/arrayOrArray.d.ts +0 -0
  189. /package/dist/{Diagrams → src/Diagrams}/util/awaitTime.d.ts +0 -0
  190. /package/dist/{Diagrams → src/Diagrams}/util/binders.d.ts +0 -0
  191. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/importBPMNXmlIntoDiagram.d.ts +0 -0
  192. /package/dist/{Diagrams → src/Diagrams}/util/bpmn/parseBPMNXml.d.ts +0 -0
  193. /package/dist/{Diagrams → src/Diagrams}/util/cloneDeep.d.ts +0 -0
  194. /package/dist/{Diagrams → src/Diagrams}/util/downloadFile.d.ts +0 -0
  195. /package/dist/{Diagrams → src/Diagrams}/util/getEnumStr.d.ts +0 -0
  196. /package/dist/{Diagrams → src/Diagrams}/util/getIdForNode.d.ts +0 -0
  197. /package/dist/{Diagrams → src/Diagrams}/util/getUniqueId.d.ts +0 -0
  198. /package/dist/{Diagrams → src/Diagrams}/util/insertSorted.d.ts +0 -0
  199. /package/dist/{Diagrams → src/Diagrams}/util/paths/PathsGrid.d.ts +0 -0
  200. /package/dist/{Diagrams → src/Diagrams}/util/paths/stepBackFromGateway.d.ts +0 -0
  201. /package/dist/{Diagrams → src/Diagrams}/util/readFile.d.ts +0 -0
  202. /package/dist/{Diagrams → src/Diagrams}/util/shapes.d.ts +0 -0
  203. /package/dist/{Diagrams → src/Diagrams}/util/throttle.d.ts +0 -0
@@ -0,0 +1,97 @@
1
+ import { MouseEvent as ReactMouseEvent } from 'react';
2
+ import { Edge } from '../../../store/elements/Edge';
3
+ import { Node } from '../../../store/elements/Node';
4
+ import { DiagramExtension } from '../../../store/extensions/DiagramExtension';
5
+ import { EdgePathType } from '../../../store/types';
6
+ import { BPMNElementDefinition, BPMNElementId } from '../config/BPMNElementCatalog';
7
+ import { BPMNLabelOverrides, BPMNLabels } from '../config/BPMNLabels';
8
+ import { BPMNEdge, BPMNEdgeKind } from '../edges/BPMNEdge';
9
+ import { EventNode, EventDirection, EventKind, EventStage } from '../nodes/EventNode';
10
+ import { TaskNode, TaskMultiInstance } from '../nodes/TaskNode';
11
+ /** Coordinates BPMN catalog transformations, inferred edges, and extension UI. */
12
+ export declare class BPMNModelerExtension extends DiagramExtension {
13
+ dragging: boolean;
14
+ propertiesPanelOpen: boolean;
15
+ RenderDiagram: (({ diagram, extension }: import('../../../store/extensions/DiagramExtension').TDiagramExtensionRenderProps<BPMNModelerExtension>) => import("react").JSX.Element | null) & {
16
+ displayName: string;
17
+ };
18
+ RenderUI: (({ diagram, extension }: import('../../../store/extensions/DiagramExtension').TDiagramExtensionRenderProps<BPMNModelerExtension>) => import("react").JSX.Element) & {
19
+ displayName: string;
20
+ };
21
+ private labelConfiguration;
22
+ /** Returns this diagram's isolated labels, or defaults for legacy probes. */
23
+ get labels(): BPMNLabels;
24
+ /** Merges label overrides into this diagram without changing global defaults. */
25
+ configureLabels(overrides: BPMNLabelOverrides): void;
26
+ /** Registers semantic edge support and guards invalid drag-created connections. */
27
+ init(): void;
28
+ /** Returns legal enabled transformations that preserve current connections. */
29
+ transformTargets(node: Node): BPMNElementDefinition[];
30
+ /** Returns transform choices in stable catalog order including the current type. */
31
+ shapeOptions(node: Node): BPMNElementDefinition[];
32
+ /** Changes a node variant through the shared catalog and emits history state. */
33
+ transform(node: Node, targetId: BPMNElementId): boolean;
34
+ /** Returns enabled target elements that form a legal outgoing BPMN connection. */
35
+ connectionTargets(node: Node): BPMNElementDefinition[];
36
+ private inferDefinitionKind;
37
+ /** Creates and connects a catalog node at the nearest collision-free position. */
38
+ appendConnected(node: Node, targetId: BPMNElementId): Node | null;
39
+ private nearestAvailablePosition;
40
+ private placementDirectionRank;
41
+ /** Starts an automatic outgoing connection from the toolbar of a selected node. */
42
+ startToolbarConnection(node: Node, event: ReactMouseEvent): void;
43
+ /** Reports whether the interactive connector should replace selection UI. */
44
+ get connecting(): boolean;
45
+ /** Updates a selected node label and records the mutation in diagram history. */
46
+ renameNode(node: Node, label: string): void;
47
+ private acceptsEventDefinition;
48
+ /** Lists event kinds available without invalidating an existing attachment. */
49
+ eventKindOptions(node: EventNode): EventKind[];
50
+ private eventDefinitionForKind;
51
+ /** Changes only the kind and normalizes independently unsupported dimensions. */
52
+ changeEventKind(node: EventNode, kind: EventKind): boolean;
53
+ /** Lists valid stages while preserving the independently selected direction. */
54
+ eventStageOptions(node: EventNode): EventStage[];
55
+ /** Lists valid directions while preserving the independently selected stage. */
56
+ eventDirectionOptions(node: EventNode): EventDirection[];
57
+ /** Changes an event stage without modifying the independently chosen direction. */
58
+ changeEventStage(node: EventNode, stage: EventStage): boolean;
59
+ /** Changes whether the current event catches or throws its configured trigger. */
60
+ changeEventDirection(node: EventNode, direction: EventDirection): boolean;
61
+ /** Toggles whether an attached boundary event interrupts its owning task. */
62
+ changeEventInterrupting(node: EventNode, interrupting: boolean): void;
63
+ private eventSubprocessStart;
64
+ private containedEventCandidate;
65
+ /** Returns the concrete start-event kind configured by an event subprocess. */
66
+ eventSubprocessStartKind(node: TaskNode): EventKind | "";
67
+ /** Creates or updates the movable internal start event selected on its owner. */
68
+ changeEventSubprocessStartKind(node: TaskNode, kind: EventKind): EventNode | null;
69
+ /** Changes the activity multi-instance marker while recording one property mutation. */
70
+ changeTaskMultiInstance(node: TaskNode, multiInstance: TaskMultiInstance): boolean;
71
+ /** Toggles a task's standard conditional loop and records the property change. */
72
+ changeTaskLoop(node: TaskNode, loop: boolean): boolean;
73
+ /** Updates a selected edge label and records the mutation in diagram history. */
74
+ renameEdge(edge: Edge, label: string): void;
75
+ /** Returns only edge kinds that preserve all endpoint-specific BPMN constraints. */
76
+ edgeKindOptions(edge: BPMNEdge): BPMNEdgeKind[];
77
+ /** Updates a BPMN edge kind and refreshes its visual connection convention. */
78
+ changeEdgeKind(edge: BPMNEdge, kind: BPMNEdgeKind): void;
79
+ /** Reverses one BPMN edge while retaining its route and emitting a history change. */
80
+ reverseEdge(edge: BPMNEdge): void;
81
+ /** Changes one BPMN edge routing strategy while preserving history integration. */
82
+ changeEdgePathType(edge: BPMNEdge, pathType: EdgePathType): void;
83
+ /** Updates the conditional expression associated with a sequence flow edge. */
84
+ changeEdgeCondition(edge: BPMNEdge, condition: string): void;
85
+ /** Toggles a legal gateway default while preserving source-wide exclusivity. */
86
+ changeEdgeDefault(edge: BPMNEdge, isDefault: boolean): boolean;
87
+ /** Toggles an eligible edge target marker and records the semantic history change. */
88
+ changeEdgeDirected(edge: BPMNEdge, isDirected: boolean): void;
89
+ /** Returns whether this edge can be the default of an exclusive or inclusive gateway. */
90
+ supportsDefaultFlow(edge: BPMNEdge): boolean;
91
+ /** Returns whether sequence-flow conditions are meaningful for this source. */
92
+ supportsCondition(edge: BPMNEdge): boolean;
93
+ /** Toggles the properties inspector and persists its current preference locally. */
94
+ togglePropertiesPanel(): void;
95
+ /** Closes the properties inspector and persists its disabled preference locally. */
96
+ closePropertiesPanel(): void;
97
+ }
@@ -0,0 +1,31 @@
1
+ import { DiagramExtension } from '../../../store/extensions/DiagramExtension';
2
+ import { Coordinates } from '../../../store/primitives/Coordinates';
3
+ import { Dimensions } from '../../../store/primitives/Dimensions';
4
+ import { BPMNode } from '../nodes/BPMNode';
5
+ export type BPMNResizableNode = BPMNode & {
6
+ readonly minimumResizeSize: Coordinates;
7
+ };
8
+ export type BPMNResizeDirection = "n" | "ne" | "e" | "se" | "s" | "sw" | "w" | "nw";
9
+ /** Owns opt-in BPMN node resize sessions with grid, bounds, and edge updates. */
10
+ export declare class BPMNNodeResizer extends DiagramExtension {
11
+ private readonly autopan;
12
+ private session;
13
+ private unbindSession;
14
+ /** Initializes the imperative extension consumed by resizable BPMN renderers. */
15
+ init(): void;
16
+ /** Starts a directional resize gesture safely from any side or corner handle. */
17
+ startResize(node: BPMNResizableNode, event: PointerEvent, direction: BPMNResizeDirection): void;
18
+ /** Applies a constrained size immediately and reroutes every connected edge. */
19
+ resizeNode(node: BPMNResizableNode, size: Coordinates | [number, number]): boolean;
20
+ /** Resizes from one handle while keeping the opposite sides anchored in place. */
21
+ resizeNodeFromDirection(node: BPMNResizableNode, initialBox: Dimensions, direction: BPMNResizeDirection, delta: Coordinates): boolean;
22
+ private snapDirectionalBoxToGrid;
23
+ private snapCoordinate;
24
+ private applyBox;
25
+ private constrain;
26
+ private rerouteConnectedEdges;
27
+ private handlePointerMove;
28
+ private handleAutopan;
29
+ private resizeFromPointer;
30
+ private endSession;
31
+ }
@@ -0,0 +1,4 @@
1
+ import { DChangeEvent } from '../../../store/elements/Events';
2
+ /** Marks inspector-driven BPMN property mutations as history-aware changes. */
3
+ export declare class BPMNPropertyChangeEvent extends DChangeEvent {
4
+ }
@@ -0,0 +1,23 @@
1
+ import { DiagramExtension } from '../../../store/extensions/DiagramExtension';
2
+ import { AlignmentGuide } from '../../../store/extensions/NodesAligner';
3
+ import { Coordinates } from '../../../store/primitives/Coordinates';
4
+ import { Dimensions } from '../../../store/primitives/Dimensions';
5
+ import { BPMNode } from '../nodes/BPMNode';
6
+ import { BPMNResizeDirection } from './BPMNNodeResizer';
7
+ /** Suggests BPMN resize stops that match peer dimensions and corresponding sides. */
8
+ export declare class BPMNResizeSuggester extends DiagramExtension {
9
+ alignmentProposals: AlignmentGuide[];
10
+ /** Initializes the observable guide collection used by the diagram overlay. */
11
+ init(): void;
12
+ /** Removes all transient guides when a resize gesture finishes or restarts. */
13
+ clear(): void;
14
+ /** Returns the best snapped box while publishing every associated visual guide. */
15
+ suggest(node: BPMNode, box: Dimensions, direction: BPMNResizeDirection, fallback?: Dimensions, minimumResizeSize?: Coordinates): Dimensions;
16
+ private sideCandidate;
17
+ private widthCandidate;
18
+ private candidate;
19
+ private isValid;
20
+ private verticalGuide;
21
+ private horizontalGuide;
22
+ private widthGuides;
23
+ }
@@ -0,0 +1,28 @@
1
+ /** Stable compatibility codes used by persisted diagrams and catalog transforms. */
2
+ export declare enum EventTypes {
3
+ start = 0,
4
+ end = 1,
5
+ intermediate = 2,
6
+ timer = 3,
7
+ messageCatch = 4,
8
+ messageThrow = 5,
9
+ signalCatch = 6,
10
+ signalThrow = 7,
11
+ compensationCatch = 8,
12
+ compensationThrow = 9,
13
+ errorCatch = 10,
14
+ errorThrow = 11,
15
+ conditional = 12,
16
+ terminate = 13
17
+ }
18
+ export type EventStage = "start" | "intermediate" | "end";
19
+ export type EventKind = "none" | "timer" | "message" | "signal" | "compensation" | "error" | "conditional" | "terminate";
20
+ export type EventDirection = "catch" | "throw";
21
+ export type EventDefinition = Readonly<{
22
+ stage: EventStage;
23
+ kind: EventKind;
24
+ direction: EventDirection;
25
+ }>;
26
+ export declare const EVENT_DEFINITION_BY_TYPE: Readonly<Record<EventTypes, EventDefinition>>;
27
+ /** Validates the complete event tuple against the supported BPMN combinations. */
28
+ export declare function isValidEventDefinition(value: unknown): value is EventDefinition;
@@ -0,0 +1,15 @@
1
+ import { Diagram } from '../../../store/Diagram';
2
+ import { Element } from '../../../store/elements/Element';
3
+ import { TNodeConstructorProps } from '../../../store/elements/Node';
4
+ import { EditableNode } from '../../editable/EditableNode';
5
+ /** Provides shared BPMN sizing, typography, and connection-boundary behavior. */
6
+ export declare abstract class BPMNode extends EditableNode {
7
+ edgesAsGateways: boolean;
8
+ protected occupiesGridSquare: boolean;
9
+ constructor(parent: Element | null, state: TNodeConstructorProps);
10
+ protected fitToGridSquare(): void;
11
+ /** Attaches the node and reapplies any geometry tied to the active grid size. */
12
+ setDiagram(diagram: Diagram): void;
13
+ /** Restores shared state while enforcing current typography and grid geometry. */
14
+ deserialize(o: ReturnType<this["serialize"]>): void;
15
+ }
@@ -0,0 +1,17 @@
1
+ import { Element } from '../../../store/elements/Element';
2
+ import { TNodeConstructorProps, TNodeScreenRenderProps } from '../../../store/elements/Node';
3
+ import { Coordinates } from '../../../store/primitives/Coordinates';
4
+ import { BPMNResizableNode } from '../extensions/BPMNNodeResizer';
5
+ import { BPMNode } from './BPMNode';
6
+ /** Models an external BPMN participant whose internal process remains hidden. */
7
+ export declare class BlackBoxPoolNode extends BPMNode implements BPMNResizableNode {
8
+ readonly minimumResizeSize: Coordinates;
9
+ edgesAsGateways: boolean;
10
+ constructor(parent: Element | null, state: TNodeConstructorProps);
11
+ RenderScreen: (({ node }: TNodeScreenRenderProps<BlackBoxPoolNode>) => import("react").JSX.Element) & {
12
+ displayName: string;
13
+ };
14
+ RenderOverlay: (() => import("react").JSX.Element) & {
15
+ displayName: string;
16
+ };
17
+ }
@@ -0,0 +1,14 @@
1
+ import { Element } from '../../../store/elements/Element';
2
+ import { TNodeConstructorProps } from '../../../store/elements/Node';
3
+ import { Dimensions } from '../../../store/primitives/Dimensions';
4
+ import { BPMNode } from './BPMNode';
5
+ /** Models persistent information storage used through directional BPMN associations. */
6
+ export declare class DataStoreNode extends BPMNode {
7
+ requiredEdgePathType: "straight";
8
+ protected occupiesGridSquare: boolean;
9
+ constructor(parent: Element | null, state: TNodeConstructorProps);
10
+ protected get screenLabelBox(): Dimensions;
11
+ RenderOverlay: (() => import("react").JSX.Element) & {
12
+ displayName: string;
13
+ };
14
+ }
@@ -0,0 +1,19 @@
1
+ import { Element } from '../../../store/elements/Element';
2
+ import { TNodeConstructorProps, TNodeScreenRenderProps } from '../../../store/elements/Node';
3
+ import { Coordinates } from '../../../store/primitives/Coordinates';
4
+ import { BPMNResizableNode } from '../extensions/BPMNNodeResizer';
5
+ import { BPMNode } from './BPMNode';
6
+ /** Models a resizable folded-page BPMN annotation with editable interior text. */
7
+ export declare class DocumentAnnotationNode extends BPMNode implements BPMNResizableNode {
8
+ readonly minimumResizeSize: Coordinates;
9
+ edgesAsGateways: boolean;
10
+ constructor(parent: Element | null, state: TNodeConstructorProps);
11
+ /** Resolves automatic associations against the exact facing node boundary. */
12
+ findAutomaticGatewayAnchor(towards: Coordinates): import('../../../store/routers/EdgesRouter').EdgeRouterAnchor;
13
+ RenderScreen: (({ node }: TNodeScreenRenderProps<DocumentAnnotationNode>) => import("react").JSX.Element) & {
14
+ displayName: string;
15
+ };
16
+ RenderOverlay: (() => import("react").JSX.Element) & {
17
+ displayName: string;
18
+ };
19
+ }
@@ -0,0 +1,13 @@
1
+ import { Element } from '../../../store/elements/Element';
2
+ import { TNodeConstructorProps } from '../../../store/elements/Node';
3
+ import { Dimensions } from '../../../store/primitives/Dimensions';
4
+ import { BPMNode } from './BPMNode';
5
+ /** Models a transient BPMN data document connected through directional associations. */
6
+ export declare class DocumentNode extends BPMNode {
7
+ requiredEdgePathType: "straight";
8
+ constructor(parent: Element | null, state: TNodeConstructorProps);
9
+ protected get screenLabelBox(): Dimensions;
10
+ RenderOverlay: (() => import("react").JSX.Element) & {
11
+ displayName: string;
12
+ };
13
+ }
@@ -0,0 +1,130 @@
1
+ import { Element } from '../../../store/elements/Element';
2
+ import { TNodeConstructorProps } from '../../../store/elements/Node';
3
+ import { Dimensions } from '../../../store/primitives/Dimensions';
4
+ import { EventTypes, EventDefinition, EventDirection, EventKind, EventStage } from './BPMNEventDefinition';
5
+ import { BPMNode } from './BPMNode';
6
+ export { EventTypes } from './BPMNEventDefinition';
7
+ export type { EventDefinition, EventDirection, EventKind, EventStage } from './BPMNEventDefinition';
8
+ export type TEventNodeType = EventTypes;
9
+ export type EventAttachmentOffset = readonly [number, number];
10
+ type TEventNodeState = TNodeConstructorProps & {
11
+ type?: TEventNodeType;
12
+ eventDefinition?: EventDefinition;
13
+ attachedToTaskId?: string | null;
14
+ attachmentOffset?: EventAttachmentOffset | null;
15
+ interrupting?: boolean;
16
+ subprocessStart?: boolean;
17
+ subprocessId?: string | null;
18
+ };
19
+ /** Models fixed-grid BPMN events with orthogonal stage and marker semantics. */
20
+ export declare class EventNode extends BPMNode {
21
+ definition: EventDefinition;
22
+ attachedToTaskId: string | null;
23
+ attachmentOffset: EventAttachmentOffset | null;
24
+ interrupting: boolean;
25
+ subprocessStart: boolean;
26
+ subprocessId: string | null;
27
+ edgesAsGateways: boolean;
28
+ protected occupiesGridSquare: boolean;
29
+ constructor(parent: Element | null, state: TEventNodeState);
30
+ get stage(): EventStage;
31
+ get kind(): EventKind;
32
+ get direction(): EventDirection;
33
+ get type(): TEventNodeType;
34
+ get isStart(): boolean;
35
+ get isEnd(): boolean;
36
+ get isCatching(): boolean;
37
+ /** Reports whether this event kind can be placed on an activity boundary. */
38
+ get canAttach(): boolean;
39
+ /** Reports whether this event kind can start an event-driven sub-process. */
40
+ get canStartSubprocess(): boolean;
41
+ /** Atomically changes the event tuple after validating its BPMN combination. */
42
+ setDefinition(definition: EventDefinition): boolean;
43
+ /** Applies one stable compatibility code using its canonical default tuple. */
44
+ setType(type: TEventNodeType): boolean;
45
+ /** Stores declarative boundary attachment data without performing drag behavior. */
46
+ setAttachment(taskId: string | null, offset?: EventAttachmentOffset | null, interrupting?: boolean): void;
47
+ /** Toggles boundary interruption styling without changing attachment geometry. */
48
+ setInterrupting(interrupting: boolean): void;
49
+ /** Marks this compatible event with the dashed event-subprocess start border. */
50
+ setSubprocessStart(subprocessStart: boolean, subprocessId?: string | null): boolean;
51
+ /** Serializes canonical semantics, compatibility data, and optional attachment. */
52
+ serialize(): {
53
+ type: EventTypes;
54
+ eventDefinition: Readonly<{
55
+ stage: EventStage;
56
+ kind: EventKind;
57
+ direction: EventDirection;
58
+ }>;
59
+ attachedToTaskId: string | null;
60
+ attachmentOffset: EventAttachmentOffset | null;
61
+ interrupting: boolean;
62
+ subprocessStart: boolean;
63
+ subprocessId: string | null;
64
+ box: [number, number, number, number];
65
+ id: string;
66
+ label: string;
67
+ movable: boolean | undefined;
68
+ selectable: boolean | undefined;
69
+ selected: boolean | undefined;
70
+ gateways: {
71
+ coordinates: [number, number];
72
+ fill: string | undefined;
73
+ id: string;
74
+ orientation: import('../../../store/types').TOrientation;
75
+ radius: number;
76
+ stroke: string | undefined;
77
+ strokeWidth: number;
78
+ outEdges: {
79
+ arrowHeadEnd: import('../../../store/types').EdgeArrowHead | undefined;
80
+ arrowHeadStart: import('../../../store/types').EdgeArrowHead | undefined;
81
+ displacementEnd: [number, number] | undefined;
82
+ displacementStart: [number, number] | undefined;
83
+ lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
84
+ labels: {
85
+ alignment: "right" | "left" | "center";
86
+ id: string;
87
+ size: {
88
+ height: number;
89
+ width: number;
90
+ };
91
+ text: string;
92
+ position: [number, number];
93
+ }[];
94
+ pathType: import('../../../store/types').EdgePathType;
95
+ startAnchor: {
96
+ mode: import('../../../store/types').EdgeAnchorMode;
97
+ position: [number, number] | undefined;
98
+ };
99
+ endAnchor: {
100
+ mode: import('../../../store/types').EdgeAnchorMode;
101
+ position: [number, number] | undefined;
102
+ };
103
+ steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
104
+ stroke: string | undefined;
105
+ strokeWidth: number | undefined;
106
+ to: string;
107
+ toParentId: string;
108
+ class: string;
109
+ }[];
110
+ class: string;
111
+ }[];
112
+ fill: string | undefined;
113
+ labelFontSize: number | undefined;
114
+ labelOffset: [number, number] | undefined;
115
+ stroke: string | undefined;
116
+ strokewWidth: number | undefined;
117
+ class: string;
118
+ };
119
+ /** Restores canonical or legacy event state and reapplies fixed-grid geometry. */
120
+ deserialize(o: ReturnType<this["serialize"]>): void;
121
+ /** Remaps boundary and subprocess references during import, copy, and paste. */
122
+ remapSerializedReferences<T>(state: T, idMap: ReadonlyMap<string, string>): T;
123
+ protected get screenLabelBox(): Dimensions;
124
+ private refreshSemanticClasses;
125
+ private refreshAttachmentPresentation;
126
+ private get markerIconId();
127
+ RenderOverlay: (() => import("react").JSX.Element) & {
128
+ displayName: string;
129
+ };
130
+ }
@@ -1,5 +1,6 @@
1
1
  import { Element } from '../../../store/elements/Element';
2
2
  import { TNodeConstructorProps } from '../../../store/elements/Node';
3
+ import { Dimensions } from '../../../store/primitives/Dimensions';
3
4
  import { BPMNode } from './BPMNode';
4
5
  export declare enum GateTypes {
5
6
  inclusive = 0,
@@ -7,12 +8,17 @@ export declare enum GateTypes {
7
8
  parallel = 2,
8
9
  eventBased = 3
9
10
  }
11
+ /** Models fixed-grid BPMN gateways and their mutually exclusive marker variants. */
10
12
  export declare class GateNode extends BPMNode {
11
13
  type: GateTypes;
14
+ edgesAsGateways: boolean;
15
+ protected occupiesGridSquare: boolean;
12
16
  constructor(parent: Element | null, state: TNodeConstructorProps & {
13
17
  type?: GateTypes;
14
18
  });
19
+ /** Changes the semantic gateway variant and its corresponding visual marker. */
15
20
  setType(type: GateTypes): void;
21
+ /** Serializes the gateway subtype together with common editable node state. */
16
22
  serialize(): {
17
23
  type: GateTypes;
18
24
  box: [number, number, number, number];
@@ -35,7 +41,25 @@ export declare class GateNode extends BPMNode {
35
41
  displacementEnd: [number, number] | undefined;
36
42
  displacementStart: [number, number] | undefined;
37
43
  lineStyle: import('../../../store/types').EdgeLineStyle | undefined;
38
- pathType: import('../../../store/types').EdgePathType | undefined;
44
+ labels: {
45
+ alignment: "right" | "left" | "center";
46
+ id: string;
47
+ size: {
48
+ height: number;
49
+ width: number;
50
+ };
51
+ text: string;
52
+ position: [number, number];
53
+ }[];
54
+ pathType: import('../../../store/types').EdgePathType;
55
+ startAnchor: {
56
+ mode: import('../../../store/types').EdgeAnchorMode;
57
+ position: [number, number] | undefined;
58
+ };
59
+ endAnchor: {
60
+ mode: import('../../../store/types').EdgeAnchorMode;
61
+ position: [number, number] | undefined;
62
+ };
39
63
  steps: import('../../../store/elements/EdgePoint').TSerializedEdgePoint[];
40
64
  stroke: string | undefined;
41
65
  strokeWidth: number | undefined;
@@ -47,12 +71,15 @@ export declare class GateNode extends BPMNode {
47
71
  }[];
48
72
  fill: string | undefined;
49
73
  labelFontSize: number | undefined;
74
+ labelOffset: [number, number] | undefined;
50
75
  stroke: string | undefined;
51
76
  strokewWidth: number | undefined;
52
77
  class: string;
53
78
  };
54
- deserialize(o: ReturnType<this['serialize']>): void;
55
- protected Render: (() => import("react").JSX.Element) & {
79
+ /** Restores a persisted gateway subtype and reapplies current grid geometry. */
80
+ deserialize(o: ReturnType<this["serialize"]>): void;
81
+ protected get screenLabelBox(): Dimensions;
82
+ RenderOverlay: (() => import("react").JSX.Element) & {
56
83
  displayName: string;
57
84
  };
58
85
  }
@@ -0,0 +1,6 @@
1
+ import { Lanes } from '.';
2
+ import { TNodeScreenRenderProps } from '../../../../store/elements/Node';
3
+ /** Renders crisp lane labels and contextual controls in viewport coordinates. */
4
+ export declare const LaneScreenRenderer: (({ node: lanes }: TNodeScreenRenderProps<Lanes>) => import("react").JSX.Element) & {
5
+ displayName: string;
6
+ };
@@ -0,0 +1,131 @@
1
+ import { FC } from 'react';
2
+ import { Diagram } from '../../../../store/Diagram';
3
+ import { Element } from '../../../../store/elements/Element';
4
+ import { Dimensions } from '../../../../store/primitives/Dimensions';
5
+ import { BPMNode } from '../BPMNode';
6
+ type TPool = {
7
+ name: string;
8
+ label: string;
9
+ height: number;
10
+ children: TPool[];
11
+ };
12
+ type TLaneLayout = {
13
+ lane: TPool;
14
+ depth: number;
15
+ y: number;
16
+ height: number;
17
+ siblingCount: number;
18
+ };
19
+ /**
20
+ * Models and renders a resizable hierarchy of BPMN lanes and their controls.
21
+ */
22
+ export declare class Lanes extends BPMNode {
23
+ edgesAsGateways: boolean;
24
+ pools: TPool[];
25
+ static readonly laneHeaderWidth = 50;
26
+ static readonly laneHeight = 250;
27
+ static readonly laneHeaderFontSize = 16;
28
+ static readonly minimumLaneHeight = 150;
29
+ static readonly minimumWidthInGrids = 10;
30
+ constructor(parent: Element | null, state: {
31
+ id: string;
32
+ });
33
+ /** Attaches the lane and enforces the current diagram grid's minimum width. */
34
+ setDiagram(diagram: Diagram): void;
35
+ /** Returns bounds that exactly match the rendered lane hierarchy. */
36
+ get box(): Dimensions;
37
+ /** Returns every visible lane with its depth and absolute vertical geometry. */
38
+ get laneLayouts(): TLaneLayout[];
39
+ get editingLaneId(): string | null;
40
+ private get labels();
41
+ private nextPool;
42
+ /** Appends one root lane and returns it for existing programmatic callers. */
43
+ addPool(): TPool;
44
+ /** Inserts a sibling immediately before or after the referenced visible lane. */
45
+ insertLane(referenceId: string, position: "before" | "after"): void;
46
+ /** Replaces a leaf with two children while preserving its previous total height. */
47
+ subdivideLane(id: string): void;
48
+ /** Collapses all descendants back into their parent without changing total height. */
49
+ removeSubdivision(id: string): void;
50
+ /** Removes a lane while preserving one root lane or at least two nested lanes. */
51
+ removeLane(id: string): void;
52
+ /** Resizes a lane while enforcing one task box plus one grid of total padding. */
53
+ resizeLane(id: string, height: number, gridSize?: number): boolean;
54
+ /** Starts label editing for one lane through either screen or keyboard actions. */
55
+ renameLane(id: string): void;
56
+ protected editionLaneId: string | null;
57
+ protected previousPools: TPool[];
58
+ /** Restores the complete tree that existed before the current edit session. */
59
+ cancel(): void;
60
+ /** Commits labels and hierarchy changes made during the current edit session. */
61
+ confirm(): boolean;
62
+ /** Starts editing and snapshots the entire hierarchy for cancellation support. */
63
+ edit(): void;
64
+ /** Removes every root lane so importers can rebuild the hierarchy explicitly. */
65
+ resetPools(): void;
66
+ /** Restores the strictly hierarchical lane payload from serialized diagram data. */
67
+ deserialize(o: ReturnType<this["serialize"]>): void;
68
+ /** Serializes lane dimensions and descendants together with the base node state. */
69
+ serialize(): {
70
+ pools: TPool[];
71
+ box: [number, number, number, number];
72
+ id: string;
73
+ label: string;
74
+ movable: boolean | undefined;
75
+ selectable: boolean | undefined;
76
+ selected: boolean | undefined;
77
+ gateways: {
78
+ coordinates: [number, number];
79
+ fill: string | undefined;
80
+ id: string;
81
+ orientation: import('../../../../store/types').TOrientation;
82
+ radius: number;
83
+ stroke: string | undefined;
84
+ strokeWidth: number;
85
+ outEdges: {
86
+ arrowHeadEnd: import('../../../../store/types').EdgeArrowHead | undefined;
87
+ arrowHeadStart: import('../../../../store/types').EdgeArrowHead | undefined;
88
+ displacementEnd: [number, number] | undefined;
89
+ displacementStart: [number, number] | undefined;
90
+ lineStyle: import('../../../../store/types').EdgeLineStyle | undefined;
91
+ labels: {
92
+ alignment: "right" | "left" | "center";
93
+ id: string;
94
+ size: {
95
+ height: number;
96
+ width: number;
97
+ };
98
+ text: string;
99
+ position: [number, number];
100
+ }[];
101
+ pathType: import('../../../../store/types').EdgePathType;
102
+ startAnchor: {
103
+ mode: import('../../../../store/types').EdgeAnchorMode;
104
+ position: [number, number] | undefined;
105
+ };
106
+ endAnchor: {
107
+ mode: import('../../../../store/types').EdgeAnchorMode;
108
+ position: [number, number] | undefined;
109
+ };
110
+ steps: import('../../../../store/elements/EdgePoint').TSerializedEdgePoint[];
111
+ stroke: string | undefined;
112
+ strokeWidth: number | undefined;
113
+ to: string;
114
+ toParentId: string;
115
+ class: string;
116
+ }[];
117
+ class: string;
118
+ }[];
119
+ fill: string | undefined;
120
+ labelFontSize: number | undefined;
121
+ labelOffset: [number, number] | undefined;
122
+ stroke: string | undefined;
123
+ strokewWidth: number | undefined;
124
+ class: string;
125
+ };
126
+ RenderScreen: (({ node: lanes }: import('../../../../store/elements/Node').TNodeScreenRenderProps<Lanes>) => import("react").JSX.Element) & {
127
+ displayName: string;
128
+ };
129
+ RenderOverlay: FC;
130
+ }
131
+ export {};