extprg-types 1.0.2 → 1.0.3

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 (2) hide show
  1. package/index.d.ts +1261 -1276
  2. package/package.json +11 -1
package/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  /**
5
5
  * Auto-generated. Do not edit manually.
6
- * 2026-05-07T14:05:16.404Z
6
+ * 2026-05-07T14:30:53.302Z
7
7
  */
8
8
 
9
9
  // ── 第三方类型导入 ──
@@ -19,120 +19,120 @@ import type * as react_dialog from "@radix-ui/react-dialog";
19
19
 
20
20
  // ── 本地类型定义 ──
21
21
  declare class AIEngine {
22
- createTransport(project: Project);
23
- createChatFetch(project: Project): typeof fetch;
24
- getModels();
22
+ createTransport(project: Project): Promise<void>;
23
+ createChatFetch(project: Project): Promise<typeof fetch>;
24
+ getModels(): Promise<void>;
25
25
  readRequestBody(body: BodyInit | null | undefined): Promise<any>;
26
26
  }
27
27
 
28
28
  declare class Association extends StageObject {
29
- associationList: StageObject[];
30
- color: Color;
29
+ associationList: Promise<StageObject>[];
30
+ color: Promise<Color>;
31
31
  }
32
32
 
33
33
  declare class AutoAlign {
34
34
  constructor(project: Project);
35
- getSelectionOuterRectangle(entities: Entity[]): Rectangle | null;
36
- calculateDistanceByRectangle(rectA: Rectangle, rectB: Rectangle);
37
- alignRectangleToTargetX(selectedRect: Rectangle, otherRect: Rectangle): number;
38
- alignRectangleToTargetY(selectedRect: Rectangle, otherRect: Rectangle): number;
39
- _addAlignEffectByRect(selectedRect: Rectangle, otherRect: Rectangle);
40
- getGridSnapDeltaX(rect: Rectangle);
41
- getGridSnapDeltaY(rect: Rectangle);
42
- alignAllSelectedToGrid();
43
- alignAllSelected();
44
- preAlignAllSelected();
45
- onEntityMoveAlignToGrid(selectedEntity: Entity);
46
- onEntityMoveAlignToGridX(selectedEntity: Entity);
47
- onEntityMoveAlignToGridY(selectedEntity: Entity);
48
- onEntityMoveAlignToOtherEntity(selectedEntity: Entity, otherEntities: Entity[], isPreAlign = false);
49
- _addAlignEffect(selectedEntity: Entity, otherEntity: Entity);
50
- onEntityMoveAlignToTargetEntityX(selectedEntity: Entity, otherEntity: Entity, isPreAlign = false): number;
51
- onEntityMoveAlignToTargetEntityY(selectedEntity: Entity, otherEntity: Entity, isPreAlign = false): number;
52
- calculateDistance(entityA: Entity, entityB: Entity);
53
- autoLayoutSelectedFastTreeMode(selectedRootEntity: ConnectableEntity);
35
+ getSelectionOuterRectangle(entities: Entity[]): Promise<Rectangle | null>;
36
+ calculateDistanceByRectangle(rectA: Rectangle, rectB: Rectangle): Promise<void>;
37
+ alignRectangleToTargetX(selectedRect: Rectangle, otherRect: Rectangle): Promise<number>;
38
+ alignRectangleToTargetY(selectedRect: Rectangle, otherRect: Rectangle): Promise<number>;
39
+ _addAlignEffectByRect(selectedRect: Rectangle, otherRect: Rectangle): Promise<void>;
40
+ getGridSnapDeltaX(rect: Rectangle): Promise<void>;
41
+ getGridSnapDeltaY(rect: Rectangle): Promise<void>;
42
+ alignAllSelectedToGrid(): Promise<void>;
43
+ alignAllSelected(): Promise<void>;
44
+ preAlignAllSelected(): Promise<void>;
45
+ onEntityMoveAlignToGrid(selectedEntity: Entity): Promise<void>;
46
+ onEntityMoveAlignToGridX(selectedEntity: Entity): Promise<void>;
47
+ onEntityMoveAlignToGridY(selectedEntity: Entity): Promise<void>;
48
+ onEntityMoveAlignToOtherEntity(selectedEntity: Entity, otherEntities: Entity[], isPreAlign = false): Promise<void>;
49
+ _addAlignEffect(selectedEntity: Entity, otherEntity: Entity): Promise<void>;
50
+ onEntityMoveAlignToTargetEntityX(selectedEntity: Entity, otherEntity: Entity, isPreAlign = false): Promise<number>;
51
+ onEntityMoveAlignToTargetEntityY(selectedEntity: Entity, otherEntity: Entity, isPreAlign = false): Promise<number>;
52
+ calculateDistance(entityA: Entity, entityB: Entity): Promise<void>;
53
+ autoLayoutSelectedFastTreeMode(selectedRootEntity: ConnectableEntity): Promise<void>;
54
54
  }
55
55
 
56
56
  declare class AutoCompleteManager {
57
- currentWindowId: string | undefined;
57
+ currentWindowId: Promise<string | undefined>;
58
58
  constructor(project: Project);
59
59
  handle;
60
- openWindow(node: TextNode, entries: Record<string, string>, onSelect: (value: string) => void, setWindowId: (id: string) => void);
61
- handleLogic(text: string, node: TextNode, ele: HTMLTextAreaElement, setWindowId: (id: string) => void);
60
+ openWindow(node: TextNode, entries: Record<string, string>, onSelect: (value: string) => void, setWindowId: (id: string) => void): Promise<void>;
61
+ handleLogic(text: string, node: TextNode, ele: HTMLTextAreaElement, setWindowId: (id: string) => void): Promise<void>;
62
62
  handleReference;
63
- handleReferenceFile(searchText: string, node: TextNode, ele: HTMLTextAreaElement, setWindowId: (id: string) => void);
64
- handleReferenceSection(searchText: string, node: TextNode, ele: HTMLTextAreaElement, setWindowId: (id: string) => void);
63
+ handleReferenceFile(searchText: string, node: TextNode, ele: HTMLTextAreaElement, setWindowId: (id: string) => void): Promise<void>;
64
+ handleReferenceSection(searchText: string, node: TextNode, ele: HTMLTextAreaElement, setWindowId: (id: string) => void): Promise<void>;
65
65
  }
66
66
 
67
67
  declare class AutoCompute {
68
- MapOperationNameFunction: StringFunctionMap;
69
- MapNameFunction: StringFunctionMap;
70
- MapVariableFunction: VariableFunctionMap;
71
- MapOtherFunction: OtherFunctionMap;
68
+ MapOperationNameFunction: Promise<StringFunctionMap>;
69
+ MapNameFunction: Promise<StringFunctionMap>;
70
+ MapVariableFunction: Promise<VariableFunctionMap>;
71
+ MapOtherFunction: Promise<OtherFunctionMap>;
72
72
  variables;
73
73
  constructor(project: Project);
74
74
  tickNumber;
75
- tick();
76
- funcTypeTrans(mF: MathFunctionType): StringFunctionType;
77
- isTextNodeLogic(node: TextNode): boolean;
78
- isSectionLogic(section: Section): boolean;
79
- sortEntityByLocation(entities: ConnectableEntity[]): ConnectableEntity[];
80
- computeTextNode(node: TextNode);
81
- computeSection(section: Section);
82
- computeEdge(edge: LineEdge);
75
+ tick(): Promise<void>;
76
+ funcTypeTrans(mF: MathFunctionType): Promise<StringFunctionType>;
77
+ isTextNodeLogic(node: TextNode): Promise<boolean>;
78
+ isSectionLogic(section: Section): Promise<boolean>;
79
+ sortEntityByLocation(entities: ConnectableEntity[]): Promise<ConnectableEntity>[];
80
+ computeTextNode(node: TextNode): Promise<void>;
81
+ computeSection(section: Section): Promise<void>;
82
+ computeEdge(edge: LineEdge): Promise<void>;
83
83
  }
84
84
 
85
85
  declare class AutoComputeUtils {
86
86
  constructor(project: Project);
87
- getParentTextNodes(node: TextNode): TextNode[];
88
- getParentEntities(node: TextNode): ConnectableEntity[];
89
- getChildTextNodes(node: TextNode): TextNode[];
90
- getNodeOneResult(node: TextNode, resultText: string);
91
- getSectionOneResult(section: Section, resultText: string);
92
- getSectionMultiResult(section: Section, resultTextList: string[]);
93
- generateMultiResult(node: TextNode, resultTextList: string[]);
94
- stringToNumber(str: string);
95
- isNodeConnectedWithLogicNode(node: ConnectableEntity): boolean;
96
- isNameIsLogicNode(name: string): boolean;
87
+ getParentTextNodes(node: TextNode): Promise<TextNode>[];
88
+ getParentEntities(node: TextNode): Promise<ConnectableEntity>[];
89
+ getChildTextNodes(node: TextNode): Promise<TextNode>[];
90
+ getNodeOneResult(node: TextNode, resultText: string): Promise<void>;
91
+ getSectionOneResult(section: Section, resultText: string): Promise<void>;
92
+ getSectionMultiResult(section: Section, resultTextList: string[]): Promise<void>;
93
+ generateMultiResult(node: TextNode, resultTextList: string[]): Promise<void>;
94
+ stringToNumber(str: string): Promise<void>;
95
+ isNodeConnectedWithLogicNode(node: ConnectableEntity): Promise<boolean>;
96
+ isNameIsLogicNode(name: string): Promise<boolean>;
97
97
  }
98
98
 
99
99
  declare class AutoLayout {
100
100
  constructor(project: Project);
101
- isGravityLayoutStart: boolean;
102
- tick();
103
- setGravityLayoutStart();
104
- setGravityLayoutEnd();
105
- getDAGLayoutInput(entities: ConnectableEntity[]): {
101
+ isGravityLayoutStart: Promise<boolean>;
102
+ tick(): Promise<void>;
103
+ setGravityLayoutStart(): Promise<void>;
104
+ setGravityLayoutEnd(): Promise<void>;
105
+ getDAGLayoutInput(entities: ConnectableEntity[]): Promise<{
106
106
  nodes: Array<{ id: string; rectangle: Rectangle }>;
107
107
  edges: Array<{ from: string; to: string }>;
108
- };
108
+ }>;
109
109
  computeDAGLayout(input: {
110
110
  nodes: Array<{ id: string; rectangle: Rectangle }>;
111
111
  edges: Array<{ from: string; to: string }>;
112
- }): { [nodeId: string]: Vector };
113
- topologicalSort(nodes: Array<{ id: string; rectangle: Rectangle }>, edges: Array<{ from: string; to: string }>): { order: string[]; levels: Map<string, number> };
114
- autoLayoutDAG(entities: ConnectableEntity[]);
115
- gravityLayoutTick();
112
+ }): Promise<{ [nodeId: string]: Vector }>;
113
+ topologicalSort(nodes: Array<{ id: string; rectangle: Rectangle }>, edges: Array<{ from: string; to: string }>): Promise<{ order: string[]; levels: Map<string, number> }>;
114
+ autoLayoutDAG(entities: ConnectableEntity[]): Promise<void>;
115
+ gravityLayoutTick(): Promise<void>;
116
116
  }
117
117
 
118
118
  declare class AutoLayoutFastTree {
119
119
  constructor(project: Project);
120
- getTreeBoundingRectangle(node: ConnectableEntity, skipDashed = false): Rectangle;
121
- moveTreeRectTo(treeRoot: ConnectableEntity, targetLocation: Vector, skipDashed = false);
122
- getSortedChildNodes(_node: ConnectableEntity, childNodes: ConnectableEntity[], direction: "col" | "row" = "col"): ConnectableEntity[];
123
- alignTrees(trees: ConnectableEntity[], direction: "top" | "bottom" | "left" | "right", gap = 10, skipDashed = false);
124
- adjustChildrenTreesByRootNodeLocation(rootNode: ConnectableEntity, childList: ConnectableEntity[], gap = 100, position: "rightCenter" | "leftCenter" | "bottomCenter" | "topCenter" = "rightCenter", skipDashed = false);
120
+ getTreeBoundingRectangle(node: ConnectableEntity, skipDashed = false): Promise<Rectangle>;
121
+ moveTreeRectTo(treeRoot: ConnectableEntity, targetLocation: Vector, skipDashed = false): Promise<void>;
122
+ getSortedChildNodes(_node: ConnectableEntity, childNodes: ConnectableEntity[], direction: "col" | "row" = "col"): Promise<ConnectableEntity>[];
123
+ alignTrees(trees: ConnectableEntity[], direction: "top" | "bottom" | "left" | "right", gap = 10, skipDashed = false): Promise<void>;
124
+ adjustChildrenTreesByRootNodeLocation(rootNode: ConnectableEntity, childList: ConnectableEntity[], gap = 100, position: "rightCenter" | "leftCenter" | "bottomCenter" | "topCenter" = "rightCenter", skipDashed = false): Promise<void>;
125
125
  resolveSubtreeOverlaps(rootNode: ConnectableEntity, directionGroups: {
126
126
  right?: ConnectableEntity[];
127
127
  left?: ConnectableEntity[];
128
128
  bottom?: ConnectableEntity[];
129
129
  top?: ConnectableEntity[];
130
- }, skipDashed = false);
131
- hasOverlapOrLineIntersection(rootNode: ConnectableEntity, group1: ConnectableEntity[], group2: ConnectableEntity[], dir1: "left" | "right" | "top" | "bottom", dir2: "left" | "right" | "top" | "bottom", skipDashed = false): boolean;
132
- autoLayoutFastTreeMode(rootNode: ConnectableEntity);
133
- treeReverseX(selectedRootEntity: ConnectableEntity);
134
- treeReverseY(selectedRootEntity: ConnectableEntity);
135
- treeReverse(selectedRootEntity: ConnectableEntity, direction: "X" | "Y");
130
+ }, skipDashed = false): Promise<void>;
131
+ hasOverlapOrLineIntersection(rootNode: ConnectableEntity, group1: ConnectableEntity[], group2: ConnectableEntity[], dir1: "left" | "right" | "top" | "bottom", dir2: "left" | "right" | "top" | "bottom", skipDashed = false): Promise<boolean>;
132
+ autoLayoutFastTreeMode(rootNode: ConnectableEntity): Promise<void>;
133
+ treeReverseX(selectedRootEntity: ConnectableEntity): Promise<void>;
134
+ treeReverseY(selectedRootEntity: ConnectableEntity): Promise<void>;
135
+ treeReverse(selectedRootEntity: ConnectableEntity, direction: "X" | "Y"): Promise<void>;
136
136
  }
137
137
 
138
138
  declare class AutoSaveBackupService {
@@ -140,34 +140,34 @@ declare class AutoSaveBackupService {
140
140
  lastBackupHash;
141
141
  lastSaveTime;
142
142
  constructor(project: Project);
143
- tick();
144
- autoSave();
145
- autoBackup();
146
- manualBackup();
143
+ tick(): Promise<void>;
144
+ autoSave(): Promise<void>;
145
+ autoBackup(): Promise<void>;
146
+ manualBackup(): Promise<void>;
147
147
  resolveAutoBackupDir(candidate: { kind: "custom"; path: string } | { kind: "default" }): Promise<string | null>;
148
148
  tryBackupToDir(backupDir: string): Promise<boolean>;
149
149
  backupCurrentProject(backupDir: string): Promise<boolean>;
150
- generateBackupFileName(): string;
151
- getOriginalFileName(): string;
150
+ generateBackupFileName(): Promise<string>;
151
+ getOriginalFileName(): Promise<string>;
152
152
  createBackupFile(backupFilePath: string): Promise<void>;
153
153
  manageBackupFiles(backupDir: string): Promise<void>;
154
154
  }
155
155
 
156
156
  declare class BackgroundRenderer {
157
157
  constructor(project: Project);
158
- renderDotBackground(viewRect: Rectangle);
159
- renderHorizonBackground(viewRect: Rectangle);
160
- renderVerticalBackground(viewRect: Rectangle);
161
- renderCartesianBackground(viewRect: Rectangle);
162
- getCurrentGap(): number;
163
- getLocationXIterator(viewRect: Rectangle, currentGap: number): IterableIterator<number>;
164
- getLocationYIterator(viewRect: Rectangle, currentGap: number): IterableIterator<number>;
158
+ renderDotBackground(viewRect: Rectangle): Promise<void>;
159
+ renderHorizonBackground(viewRect: Rectangle): Promise<void>;
160
+ renderVerticalBackground(viewRect: Rectangle): Promise<void>;
161
+ renderCartesianBackground(viewRect: Rectangle): Promise<void>;
162
+ getCurrentGap(): Promise<number>;
163
+ getLocationXIterator(viewRect: Rectangle, currentGap: number): Promise<IterableIterator<number>>;
164
+ getLocationYIterator(viewRect: Rectangle, currentGap: number): Promise<IterableIterator<number>>;
165
165
  }
166
166
 
167
167
  declare class BaseExporter {
168
168
  constructor(project: Project);
169
- getTreeTypeString(textNode: TextNode, nodeToStringFunc: (node: TextNode, level: number) => string);
170
- getNodeChildrenArray(node: TextNode): ConnectableEntity[];
169
+ getTreeTypeString(textNode: TextNode, nodeToStringFunc: (node: TextNode, level: number) => string): Promise<void>;
170
+ getNodeChildrenArray(node: TextNode): Promise<ConnectableEntity>[];
171
171
  }
172
172
 
173
173
  declare class BaseImporter {
@@ -176,102 +176,102 @@ declare class BaseImporter {
176
176
 
177
177
  declare class Camera {
178
178
  frictionExponent;
179
- location: Vector;
180
- targetLocationByScale: Vector;
181
- speed: Vector;
182
- accelerateCommander: Vector;
183
- currentScale: number;
184
- targetScale: number;
185
- shakeLocation: Vector;
186
- savedCameraState: { location: Vector; scale: number } | null;
179
+ location: Promise<Vector>;
180
+ targetLocationByScale: Promise<Vector>;
181
+ speed: Promise<Vector>;
182
+ accelerateCommander: Promise<Vector>;
183
+ currentScale: Promise<number>;
184
+ targetScale: Promise<number>;
185
+ shakeLocation: Promise<Vector>;
186
+ savedCameraState: Promise<{ location: Vector; scale: number } | null>;
187
187
  shockMoveDiffLocationsQueue;
188
- pageMove(direction: Direction);
189
- bombMove(targetLocation: Vector, frameCount = 40);
190
- tick();
188
+ pageMove(direction: Direction): Promise<void>;
189
+ bombMove(targetLocation: Vector, frameCount = 40): Promise<void>;
190
+ tick(): Promise<void>;
191
191
  tickNumber;
192
192
  allowScaleFollowMouseLocationTicks;
193
- setAllowScaleFollowMouseLocationTicks(ticks: number);
194
- zoomInByKeyboardPress();
195
- zoomOutByKeyboardPress();
196
- addScaleFollowMouseLocationTime(sec: number);
197
- isStartZoomIn: boolean;
198
- isStartZoomOut: boolean;
199
- dealCycleSpace();
200
- setLocationByOtherLocation(otherWorldLocation: Vector, viewLocation: Vector);
201
- clearMoveCommander();
202
- stopImmediately();
203
- dealCameraScaleInTick();
204
- constructor(project: Project);
205
- reset();
206
- resetBySelected();
207
- resetByRectangle(viewRectangle: Rectangle);
208
- resetScale();
209
- resetLocationToZero();
210
- saveCameraState();
211
- restoreCameraState();
193
+ setAllowScaleFollowMouseLocationTicks(ticks: number): Promise<void>;
194
+ zoomInByKeyboardPress(): Promise<void>;
195
+ zoomOutByKeyboardPress(): Promise<void>;
196
+ addScaleFollowMouseLocationTime(sec: number): Promise<void>;
197
+ isStartZoomIn: Promise<boolean>;
198
+ isStartZoomOut: Promise<boolean>;
199
+ dealCycleSpace(): Promise<void>;
200
+ setLocationByOtherLocation(otherWorldLocation: Vector, viewLocation: Vector): Promise<void>;
201
+ clearMoveCommander(): Promise<void>;
202
+ stopImmediately(): Promise<void>;
203
+ dealCameraScaleInTick(): Promise<void>;
204
+ constructor(project: Project);
205
+ reset(): Promise<void>;
206
+ resetBySelected(): Promise<void>;
207
+ resetByRectangle(viewRectangle: Rectangle): Promise<void>;
208
+ resetScale(): Promise<void>;
209
+ resetLocationToZero(): Promise<void>;
210
+ saveCameraState(): Promise<void>;
211
+ restoreCameraState(): Promise<void>;
212
212
  }
213
213
 
214
214
  declare class Canvas {
215
- ctx: CanvasRenderingContext2D;
215
+ ctx: Promise<CanvasRenderingContext2D>;
216
216
  constructor(project: Project, element: HTMLCanvasElement = document.createElement("canvas"));
217
- mount(wrapper: HTMLDivElement);
218
- dispose();
217
+ mount(wrapper: HTMLDivElement): Promise<void>;
218
+ dispose(): Promise<void>;
219
219
  }
220
220
 
221
221
  declare interface ClickEventPayload {
222
- relativeWorldX: number;
223
- relativeWorldY: number;
224
- worldX: number;
225
- worldY: number;
222
+ relativeWorldX: Promise<number>;
223
+ relativeWorldY: Promise<number>;
224
+ worldX: Promise<number>;
225
+ worldY: Promise<number>;
226
226
  customData: any;
227
- uuid: string;
227
+ uuid: Promise<string>;
228
228
  }
229
229
 
230
230
  declare class CollisionBox {
231
- shapes: Shape[];
231
+ shapes: Promise<Shape>[];
232
232
  constructor(shapes: Shape[]);
233
233
  updateShapeList(shapes: Shape[]): void;
234
- isContainsPoint(location: Vector): boolean;
235
- isIntersectsWithRectangle(rectangle: Rectangle): boolean;
236
- isContainedByRectangle(rectangle: Rectangle): boolean;
237
- isIntersectsWithLine(line: Line): boolean;
238
- getRectangle(): Rectangle;
234
+ isContainsPoint(location: Vector): Promise<boolean>;
235
+ isIntersectsWithRectangle(rectangle: Rectangle): Promise<boolean>;
236
+ isContainedByRectangle(rectangle: Rectangle): Promise<boolean>;
237
+ isIntersectsWithLine(line: Line): Promise<boolean>;
238
+ getRectangle(): Promise<Rectangle>;
239
239
  }
240
240
 
241
241
  declare class CollisionBoxRenderer {
242
242
  constructor(project: Project);
243
- render(collideBox: CollisionBox, color: Color);
243
+ render(collideBox: CollisionBox, color: Color): Promise<void>;
244
244
  }
245
245
 
246
246
  declare class ComplexityDetector {
247
247
  constructor(project: Project);
248
- detectorCurrentStage(): CountResultObject;
248
+ detectorCurrentStage(): Promise<CountResultObject>;
249
249
  }
250
250
 
251
251
  declare class ConnectableAssociation extends Association {
252
- associationList: ConnectableEntity[];
253
- reverse();
254
- get target(): ConnectableEntity;
252
+ associationList: Promise<ConnectableEntity>[];
253
+ reverse(): Promise<void>;
254
+ get target(): Promise<ConnectableEntity>;
255
255
  set target(value: ConnectableEntity);
256
- get source(): ConnectableEntity;
256
+ get source(): Promise<ConnectableEntity>;
257
257
  set source(value: ConnectableEntity);
258
258
  }
259
259
 
260
260
  declare class ConnectableEntity extends Entity {
261
- geometryCenter: Vector;
261
+ geometryCenter: Promise<Vector>;
262
262
  unknown;
263
263
  }
264
264
 
265
265
  declare class ConnectPoint extends ConnectableEntity {
266
266
  CONNECT_POINT_SHRINK_RADIUS;
267
267
  CONNECT_POINT_EXPAND_RADIUS;
268
- get geometryCenter(): Vector;
269
- isHiddenBySectionCollapse: boolean;
270
- collisionBox: CollisionBox;
271
- uuid: string;
272
- get radius(): number;
273
- _isSelected: boolean;
274
- get isSelected(): any;
268
+ get geometryCenter(): Promise<Vector>;
269
+ isHiddenBySectionCollapse: Promise<boolean>;
270
+ collisionBox: Promise<CollisionBox>;
271
+ uuid: Promise<string>;
272
+ get radius(): Promise<number>;
273
+ _isSelected: Promise<boolean>;
274
+ get isSelected(): Promise<any>;
275
275
  set isSelected(value: boolean);
276
276
  constructor(project: Project, {
277
277
  uuid = crypto.randomUUID() as string,
@@ -286,128 +286,128 @@ declare class ConnectPoint extends ConnectableEntity {
286
286
 
287
287
  declare class ContentSearch {
288
288
  constructor(project: Project);
289
- searchResultNodes: StageObject[];
289
+ searchResultNodes: Promise<StageObject>[];
290
290
  isCaseSensitive;
291
291
  searchScope;
292
292
  currentSearchResultIndex;
293
- getStageObjectText(stageObject: StageObject): string;
294
- getSelectedObjectsBounds(): Rectangle | null;
295
- isObjectInBounds(obj: StageObject, bounds: Rectangle): boolean;
296
- startSearch(searchString: string, autoFocus = true): boolean;
297
- nextSearchResult();
298
- previousSearchResult();
293
+ getStageObjectText(stageObject: StageObject): Promise<string>;
294
+ getSelectedObjectsBounds(): Promise<Rectangle | null>;
295
+ isObjectInBounds(obj: StageObject, bounds: Rectangle): Promise<boolean>;
296
+ startSearch(searchString: string, autoFocus = true): Promise<boolean>;
297
+ nextSearchResult(): Promise<void>;
298
+ previousSearchResult(): Promise<void>;
299
299
  }
300
300
 
301
301
  declare class Controller {
302
- setCursorNameHook: (_: CursorNameEnum) => void;
303
- pressingKeySet: Set<string>;
304
- pressingKeysString(): string;
302
+ setCursorNameHook: Promise<(_: CursorNameEnum) => void>;
303
+ pressingKeySet: Promise<Set<string>>;
304
+ pressingKeysString(): Promise<string>;
305
305
  isMovingEdge;
306
306
  lastMoveLocation;
307
307
  mouseLocation;
308
308
  isCameraLocked;
309
- lastSelectedEntityUUID: Set<string>;
310
- lastSelectedEdgeUUID: Set<string>;
309
+ lastSelectedEntityUUID: Promise<Set<string>>;
310
+ lastSelectedEdgeUUID: Promise<Set<string>>;
311
311
  touchStartLocation;
312
312
  touchStartDistance;
313
313
  touchDelta;
314
314
  lastClickTime;
315
315
  lastClickLocation;
316
- isMouseDown: boolean[];
316
+ isMouseDown: Promise<boolean>[];
317
317
  lastManipulateTime;
318
- resetCountdownTimer();
319
- isManipulateOverTime();
318
+ resetCountdownTimer(): Promise<void>;
319
+ isManipulateOverTime(): Promise<void>;
320
320
  edgeHoverTolerance;
321
321
  constructor(project: Project);
322
- dispose();
323
- mousedown(event: MouseEvent);
324
- mouseup(event: MouseEvent);
325
- mousewheel(event: WheelEvent);
326
- handleMousedown(button: number, _x: number, _y: number);
327
- handleMouseup(button: number, x: number, y: number);
328
- keydown(event: KeyboardEvent);
329
- keyup(event: KeyboardEvent);
330
- touchstart(e: TouchEvent);
331
- touchmove(e: TouchEvent);
332
- touchend(e: TouchEvent);
333
- associationReshape: ControllerAssociationReshapeClass;
334
- camera: ControllerCameraClass;
335
- cutting: ControllerCuttingClass;
336
- edgeEdit: ControllerEdgeEditClass;
337
- entityClickSelectAndMove: ControllerEntityClickSelectAndMoveClass;
338
- entityCreate: ControllerEntityCreateClass;
339
- extensionEntityClick: ControllerExtensionEntityClickClass;
340
- layerMoving: ControllerLayerMovingClass;
341
- entityResize: ControllerEntityResizeClass;
342
- nodeConnection: ControllerNodeConnectionClass;
343
- nodeEdit: ControllerNodeEditClass;
344
- penStrokeControl: ControllerPenStrokeControlClass;
345
- penStrokeDrawing: ControllerPenStrokeDrawingClass;
346
- rectangleSelect: ControllerRectangleSelectClass;
347
- sectionEdit: ControllerSectionEditClass;
348
- imageScale: ControllerImageScaleClass;
322
+ dispose(): Promise<void>;
323
+ mousedown(event: MouseEvent): Promise<void>;
324
+ mouseup(event: MouseEvent): Promise<void>;
325
+ mousewheel(event: WheelEvent): Promise<void>;
326
+ handleMousedown(button: number, _x: number, _y: number): Promise<void>;
327
+ handleMouseup(button: number, x: number, y: number): Promise<void>;
328
+ keydown(event: KeyboardEvent): Promise<void>;
329
+ keyup(event: KeyboardEvent): Promise<void>;
330
+ touchstart(e: TouchEvent): Promise<void>;
331
+ touchmove(e: TouchEvent): Promise<void>;
332
+ touchend(e: TouchEvent): Promise<void>;
333
+ associationReshape: Promise<ControllerAssociationReshapeClass>;
334
+ camera: Promise<ControllerCameraClass>;
335
+ cutting: Promise<ControllerCuttingClass>;
336
+ edgeEdit: Promise<ControllerEdgeEditClass>;
337
+ entityClickSelectAndMove: Promise<ControllerEntityClickSelectAndMoveClass>;
338
+ entityCreate: Promise<ControllerEntityCreateClass>;
339
+ extensionEntityClick: Promise<ControllerExtensionEntityClickClass>;
340
+ layerMoving: Promise<ControllerLayerMovingClass>;
341
+ entityResize: Promise<ControllerEntityResizeClass>;
342
+ nodeConnection: Promise<ControllerNodeConnectionClass>;
343
+ nodeEdit: Promise<ControllerNodeEditClass>;
344
+ penStrokeControl: Promise<ControllerPenStrokeControlClass>;
345
+ penStrokeDrawing: Promise<ControllerPenStrokeDrawingClass>;
346
+ rectangleSelect: Promise<ControllerRectangleSelectClass>;
347
+ sectionEdit: Promise<ControllerSectionEditClass>;
348
+ imageScale: Promise<ControllerImageScaleClass>;
349
349
  }
350
350
 
351
351
  declare class ControllerAssociationReshapeClass extends ControllerClass {
352
- mousewheel: (event: WheelEvent) => void;
353
- lastMoveLocation: Vector;
354
- mousedown: (event: MouseEvent) => void;
355
- mousemove: (event: MouseEvent) => void;
356
- mouseup: (event: MouseEvent) => void;
352
+ mousewheel: Promise<(event: WheelEvent) => void>;
353
+ lastMoveLocation: Promise<Vector>;
354
+ mousedown: Promise<(event: MouseEvent) => void>;
355
+ mousemove: Promise<(event: MouseEvent) => void>;
356
+ mouseup: Promise<(event: MouseEvent) => void>;
357
357
  }
358
358
 
359
359
  declare class ControllerCameraClass extends ControllerClass {
360
360
  isUsingMouseGrabMove;
361
- lastMousePressLocation: Vector[];
361
+ lastMousePressLocation: Promise<Vector>[];
362
362
  isPreGrabbingWhenSpace;
363
363
  mac;
364
- keydown: (event: KeyboardEvent) => void;
365
- keyup: (event: KeyboardEvent) => void;
364
+ keydown: Promise<(event: KeyboardEvent) => void>;
365
+ keyup: Promise<(event: KeyboardEvent) => void>;
366
366
  mousedown;
367
- mousemove: (event: MouseEvent) => void;
368
- mouseMoveOutWindowForcedShutdown(vectorObject: Vector);
367
+ mousemove: Promise<(event: MouseEvent) => void>;
368
+ mouseMoveOutWindowForcedShutdown(vectorObject: Vector): Promise<void>;
369
369
  mouseup;
370
370
  mousewheel;
371
- dealStealthMode(event: WheelEvent);
372
- mousewheelFunction(event: WheelEvent);
373
- mouseDoubleClick: (event: MouseEvent) => void;
374
- moveCameraByMouseMove(x: number, y: number, mouseIndex: number);
375
- moveCameraByTouchPadTwoFingerMove(event: WheelEvent);
376
- zoomCameraByMouseWheel(event: WheelEvent);
377
- moveYCameraByMouseWheel(event: WheelEvent);
378
- moveCameraByMouseSideWheel(event: WheelEvent);
379
- zoomCameraByMouseSideWheel(event: WheelEvent);
380
- moveYCameraByMouseSideWheel(event: WheelEvent);
381
- moveXCameraByMouseWheel(event: WheelEvent);
382
- moveXCameraByMouseSideWheel(event: WheelEvent);
383
- isMouseWheel(event: WheelEvent): boolean;
384
- addDistanceNumberAndDetect(distance: number): boolean;
385
- detectDeltaY: LimitLengthQueue<number>;
386
- importantNumbers: Set<number>;
371
+ dealStealthMode(event: WheelEvent): Promise<void>;
372
+ mousewheelFunction(event: WheelEvent): Promise<void>;
373
+ mouseDoubleClick: Promise<(event: MouseEvent) => void>;
374
+ moveCameraByMouseMove(x: number, y: number, mouseIndex: number): Promise<void>;
375
+ moveCameraByTouchPadTwoFingerMove(event: WheelEvent): Promise<void>;
376
+ zoomCameraByMouseWheel(event: WheelEvent): Promise<void>;
377
+ moveYCameraByMouseWheel(event: WheelEvent): Promise<void>;
378
+ moveCameraByMouseSideWheel(event: WheelEvent): Promise<void>;
379
+ zoomCameraByMouseSideWheel(event: WheelEvent): Promise<void>;
380
+ moveYCameraByMouseSideWheel(event: WheelEvent): Promise<void>;
381
+ moveXCameraByMouseWheel(event: WheelEvent): Promise<void>;
382
+ moveXCameraByMouseSideWheel(event: WheelEvent): Promise<void>;
383
+ isMouseWheel(event: WheelEvent): Promise<boolean>;
384
+ addDistanceNumberAndDetect(distance: number): Promise<boolean>;
385
+ detectDeltaY: Promise<LimitLengthQueue<number>>;
386
+ importantNumbers: Promise<Set<number>>;
387
387
  }
388
388
 
389
389
  declare class ControllerClass {
390
390
  constructor(project: Project);
391
- lastMoveLocation: Vector;
392
- lastClickTime: number;
393
- lastClickLocation: Vector;
394
- keydown: (event: KeyboardEvent) => void;
395
- keyup: (event: KeyboardEvent) => void;
396
- mousedown: (event: PointerEvent) => void;
397
- mouseup: (event: PointerEvent) => void;
398
- mousemove: (event: PointerEvent) => void;
399
- mousewheel: (event: WheelEvent) => void;
400
- mouseDoubleClick: (event: PointerEvent) => void;
401
- touchstart: (event: TouchEvent) => void;
402
- touchmove: (event: TouchEvent) => void;
403
- touchend: (event: TouchEvent) => void;
404
- dispose();
391
+ lastMoveLocation: Promise<Vector>;
392
+ lastClickTime: Promise<number>;
393
+ lastClickLocation: Promise<Vector>;
394
+ keydown: Promise<(event: KeyboardEvent) => void>;
395
+ keyup: Promise<(event: KeyboardEvent) => void>;
396
+ mousedown: Promise<(event: PointerEvent) => void>;
397
+ mouseup: Promise<(event: PointerEvent) => void>;
398
+ mousemove: Promise<(event: PointerEvent) => void>;
399
+ mousewheel: Promise<(event: WheelEvent) => void>;
400
+ mouseDoubleClick: Promise<(event: PointerEvent) => void>;
401
+ touchstart: Promise<(event: TouchEvent) => void>;
402
+ touchmove: Promise<(event: TouchEvent) => void>;
403
+ touchend: Promise<(event: TouchEvent) => void>;
404
+ dispose(): Promise<void>;
405
405
  _mouseup;
406
406
  _touchstart;
407
407
  _touchmove;
408
- onePointTouchMoveLocation: Vector;
408
+ onePointTouchMoveLocation: Promise<Vector>;
409
409
  _touchend;
410
- mouseMoveOutWindowForcedShutdown(_outsideLocation: Vector);
410
+ mouseMoveOutWindowForcedShutdown(_outsideLocation: Vector): Promise<void>;
411
411
  }
412
412
 
413
413
  declare class ControllerCuttingClass extends ControllerClass {
@@ -415,32 +415,32 @@ declare class ControllerCuttingClass extends ControllerClass {
415
415
  _isControlKeyDown;
416
416
  onControlKeyDown;
417
417
  onControlKeyUp;
418
- registerControlKeyEvents();
419
- unregisterControlKeyEvents();
418
+ registerControlKeyEvents(): Promise<void>;
419
+ unregisterControlKeyEvents(): Promise<void>;
420
420
  constructor(project: Project);
421
- dispose();
422
- cuttingLine: Line;
421
+ dispose(): Promise<void>;
422
+ cuttingLine: Promise<Line>;
423
423
  lastMoveLocation;
424
- warningEntity: Entity[];
425
- warningSections: Section[];
426
- warningAssociations: Association[];
424
+ warningEntity: Promise<Entity>[];
425
+ warningSections: Promise<Section>[];
426
+ warningAssociations: Promise<Association>[];
427
427
  isUsing;
428
- twoPointsMap: Record<string, Vector[]>;
428
+ twoPointsMap: Promise<Record<string, Vector[]>>;
429
429
  cuttingStartLocation;
430
- mousedown: (event: MouseEvent) => void;
431
- mouseDownEvent(event: MouseEvent);
432
- mousemove: (event: MouseEvent) => void;
433
- clearIsolationPoint();
434
- mouseUpFunction(mouseUpWindowLocation: Vector);
435
- mouseup: (event: MouseEvent) => void;
436
- mouseMoveOutWindowForcedShutdown(outsideLocation: Vector);
437
- updateWarningObjectByCuttingLine();
438
- addEffectByWarningEntity();
430
+ mousedown: Promise<(event: MouseEvent) => void>;
431
+ mouseDownEvent(event: MouseEvent): Promise<void>;
432
+ mousemove: Promise<(event: MouseEvent) => void>;
433
+ clearIsolationPoint(): Promise<void>;
434
+ mouseUpFunction(mouseUpWindowLocation: Vector): Promise<void>;
435
+ mouseup: Promise<(event: MouseEvent) => void>;
436
+ mouseMoveOutWindowForcedShutdown(outsideLocation: Vector): Promise<void>;
437
+ updateWarningObjectByCuttingLine(): Promise<void>;
438
+ addEffectByWarningEntity(): Promise<void>;
439
439
  }
440
440
 
441
441
  declare class ControllerEdgeEditClass extends ControllerClass {
442
- editEdgeText(clickedLineEdge: Edge, selectAll = true);
443
- editMultiTargetEdgeText(clickedEdge: MultiTargetUndirectedEdge, selectAll = true);
442
+ editEdgeText(clickedLineEdge: Edge, selectAll = true): Promise<void>;
443
+ editMultiTargetEdgeText(clickedEdge: MultiTargetUndirectedEdge, selectAll = true): Promise<void>;
444
444
  mouseDoubleClick;
445
445
  keydown;
446
446
  }
@@ -449,25 +449,25 @@ declare class ControllerEntityClickSelectAndMoveClass extends ControllerClass {
449
449
  isMovingEntity;
450
450
  mouseDownViewLocation;
451
451
  shakeDetector;
452
- shiftAxisLock: "x" | "y" | null;
452
+ shiftAxisLock: Promise<"x" | "y" | null>;
453
453
  shiftAccumulatedDelta;
454
- mousedown: (event: MouseEvent) => void;
455
- mousemove: (event: MouseEvent) => void;
456
- mouseup: (event: MouseEvent) => void;
454
+ mousedown: Promise<(event: MouseEvent) => void>;
455
+ mousemove: Promise<(event: MouseEvent) => void>;
456
+ mouseup: Promise<(event: MouseEvent) => void>;
457
457
  mouseMoveOutWindowForcedShutdown(_outsideLocation: Vector): void;
458
458
  }
459
459
 
460
460
  declare class ControllerEntityCreateClass extends ControllerClass {
461
461
  constructor(project: Project);
462
462
  mouseDoubleClick;
463
- createConnectPoint(pressLocation: Vector, addToSections: Section[]);
463
+ createConnectPoint(pressLocation: Vector, addToSections: Section[]): Promise<void>;
464
464
  }
465
465
 
466
466
  declare class ControllerEntityResizeClass extends ControllerClass {
467
- changeSizeEntity: Entity | null;
468
- mousedown: (event: MouseEvent) => void;
469
- mousemove: (event: MouseEvent) => void;
470
- mouseup: (event: MouseEvent) => void;
467
+ changeSizeEntity: Promise<Entity | null>;
468
+ mousedown: Promise<(event: MouseEvent) => void>;
469
+ mousemove: Promise<(event: MouseEvent) => void>;
470
+ mouseup: Promise<(event: MouseEvent) => void>;
471
471
  }
472
472
 
473
473
  declare class ControllerExtensionEntityClickClass extends ControllerClass {
@@ -480,9 +480,9 @@ declare class ControllerImageScaleClass extends ControllerClass {
480
480
  }
481
481
 
482
482
  declare class ControllerLayerMovingClass extends ControllerClass {
483
- get isEnabled(): boolean;
484
- mousemove: (event: MouseEvent) => void;
485
- mouseup: (event: MouseEvent) => void;
483
+ get isEnabled(): Promise<boolean>;
484
+ mousemove: Promise<(event: MouseEvent) => void>;
485
+ mouseup: Promise<(event: MouseEvent) => void>;
486
486
  }
487
487
 
488
488
  declare class ControllerNodeConnectionClass extends ControllerClass {
@@ -490,45 +490,45 @@ declare class ControllerNodeConnectionClass extends ControllerClass {
490
490
  _controlKeyEventRegistered;
491
491
  onControlKeyDown;
492
492
  onControlKeyUp;
493
- registerControlKeyEvents();
494
- unregisterControlKeyEvents();
495
- _lastRightMousePressLocation: Vector;
496
- _isUsing: boolean;
497
- get isUsing(): boolean;
498
- constructor(project: Project);
499
- dispose();
500
- connectFromEntities: ConnectableEntity[];
501
- connectToEntity: ConnectableEntity | null;
502
- mouseLocations: Vector[];
503
- getMouseLocationsPoints(): Vector[];
504
- createConnectPointWhenConnect();
505
- mousedown: (event: MouseEvent) => void;
506
- _startImageLocation: Map<string, Vector>;
507
- _endImageLocation: Vector | null;
508
- _hoverImageLocation: Vector | null;
509
- _previewSourceDirection: Direction | null;
510
- _previewTargetDirection: Direction | null;
511
- getHoverImageNode(): ImageNode | null;
512
- getHoverImageLocation(): Vector | null;
513
- onMouseDown(event: MouseEvent);
493
+ registerControlKeyEvents(): Promise<void>;
494
+ unregisterControlKeyEvents(): Promise<void>;
495
+ _lastRightMousePressLocation: Promise<Vector>;
496
+ _isUsing: Promise<boolean>;
497
+ get isUsing(): Promise<boolean>;
498
+ constructor(project: Project);
499
+ dispose(): Promise<void>;
500
+ connectFromEntities: Promise<ConnectableEntity>[];
501
+ connectToEntity: Promise<ConnectableEntity | null>;
502
+ mouseLocations: Promise<Vector>[];
503
+ getMouseLocationsPoints(): Promise<Vector>[];
504
+ createConnectPointWhenConnect(): Promise<void>;
505
+ mousedown: Promise<(event: MouseEvent) => void>;
506
+ _startImageLocation: Promise<Map<string, Vector>>;
507
+ _endImageLocation: Promise<Vector | null>;
508
+ _hoverImageLocation: Promise<Vector | null>;
509
+ _previewSourceDirection: Promise<Direction | null>;
510
+ _previewTargetDirection: Promise<Direction | null>;
511
+ getHoverImageNode(): Promise<ImageNode | null>;
512
+ getHoverImageLocation(): Promise<Vector | null>;
513
+ onMouseDown(event: MouseEvent): Promise<void>;
514
514
  isMouseHoverOnTarget;
515
- mousemove: (event: MouseEvent) => void;
516
- mouseMove(event: MouseEvent);
517
- mouseup: (event: MouseEvent) => void;
518
- mouseUp(event: MouseEvent);
519
- getConnectDirectionByMouseTrack(): [Direction | null, Direction | null];
515
+ mousemove: Promise<(event: MouseEvent) => void>;
516
+ mouseMove(event: MouseEvent): Promise<void>;
517
+ mouseup: Promise<(event: MouseEvent) => void>;
518
+ mouseUp(event: MouseEvent): Promise<void>;
519
+ getConnectDirectionByMouseTrack(): Promise<[Direction | null, Direction | null]>;
520
520
  _hasSourceSparkTriggered;
521
521
  _hasTargetSparkTriggered;
522
- getOppositeDirection(direction: Direction): Direction;
523
- clickMultiConnect(releaseWorldLocation: Vector);
524
- clear();
525
- updatePreviewDirections();
526
- directionToRate(direction: Direction | null): Vector;
527
- getPreviewSourceRectangleRate(): Vector;
528
- getPreviewTargetRectangleRate(): Vector;
529
- dragMultiConnect(connectToEntity: ConnectableEntity, sourceDirection: Direction | null = null, targetDirection: Direction | null = null);
530
- isConnecting();
531
- addConnectEffect(from: ConnectableEntity, to: ConnectableEntity, sourceRectRate?: Vector, targetRectRate?: Vector);
522
+ getOppositeDirection(direction: Direction): Promise<Direction>;
523
+ clickMultiConnect(releaseWorldLocation: Vector): Promise<void>;
524
+ clear(): Promise<void>;
525
+ updatePreviewDirections(): Promise<void>;
526
+ directionToRate(direction: Direction | null): Promise<Vector>;
527
+ getPreviewSourceRectangleRate(): Promise<Vector>;
528
+ getPreviewTargetRectangleRate(): Promise<Vector>;
529
+ dragMultiConnect(connectToEntity: ConnectableEntity, sourceDirection: Direction | null = null, targetDirection: Direction | null = null): Promise<void>;
530
+ isConnecting(): Promise<void>;
531
+ addConnectEffect(from: ConnectableEntity, to: ConnectableEntity, sourceRectRate?: Vector, targetRectRate?: Vector): Promise<void>;
532
532
  }
533
533
 
534
534
  declare class ControllerNodeEditClass extends ControllerClass {
@@ -536,45 +536,45 @@ declare class ControllerNodeEditClass extends ControllerClass {
536
536
  mouseDoubleClick;
537
537
  mouseup;
538
538
  mousemove;
539
- editUrlNodeTitle(clickedUrlNode: UrlNode);
540
- editLatexNode(node: LatexNode);
539
+ editUrlNodeTitle(clickedUrlNode: UrlNode): Promise<void>;
540
+ editLatexNode(node: LatexNode): Promise<void>;
541
541
  }
542
542
 
543
543
  declare class ControllerPenStrokeControlClass extends ControllerClass {
544
544
  isAdjusting;
545
- startAdjustWidthLocation: Vector;
546
- lastAdjustWidthLocation: Vector;
547
- mousedown: (event: MouseEvent) => void;
548
- mousemove: (event: MouseEvent) => void;
549
- mouseup: (event: MouseEvent) => void;
545
+ startAdjustWidthLocation: Promise<Vector>;
546
+ lastAdjustWidthLocation: Promise<Vector>;
547
+ mousedown: Promise<(event: MouseEvent) => void>;
548
+ mousemove: Promise<(event: MouseEvent) => void>;
549
+ mouseup: Promise<(event: MouseEvent) => void>;
550
550
  onMouseMoveWhenAdjusting;
551
551
  }
552
552
 
553
553
  declare class ControllerPenStrokeDrawingClass extends ControllerClass {
554
- _isUsing: boolean;
555
- currentSegments: PenStrokeSegment[];
554
+ _isUsing: Promise<boolean>;
555
+ currentSegments: Promise<PenStrokeSegment>[];
556
556
  isDrawingLine;
557
- currentStrokeWidth: number;
557
+ currentStrokeWidth: Promise<number>;
558
558
  constructor(project: Project);
559
559
  mousedown;
560
560
  mousemove;
561
561
  mouseup;
562
- releaseMouseAndClear();
563
- mousewheel: (event: WheelEvent) => void;
564
- getCurrentStrokeColor();
565
- changeCurrentStrokeColorAlpha(dAlpha: number);
562
+ releaseMouseAndClear(): Promise<void>;
563
+ mousewheel: Promise<(event: WheelEvent) => void>;
564
+ getCurrentStrokeColor(): Promise<void>;
565
+ changeCurrentStrokeColorAlpha(dAlpha: number): Promise<void>;
566
566
  }
567
567
 
568
568
  declare class ControllerRectangleSelectClass extends ControllerClass {
569
- _isUsing: boolean;
570
- selectingRectangle: Rectangle | null;
571
- get isUsing(): any;
572
- shutDown();
573
- mouseMoveOutWindowForcedShutdown(mouseLocation: Vector);
574
- mousedown: (event: MouseEvent) => void;
575
- mousemove: (event: MouseEvent) => void;
569
+ _isUsing: Promise<boolean>;
570
+ selectingRectangle: Promise<Rectangle | null>;
571
+ get isUsing(): Promise<any>;
572
+ shutDown(): Promise<void>;
573
+ mouseMoveOutWindowForcedShutdown(mouseLocation: Vector): Promise<void>;
574
+ mousedown: Promise<(event: MouseEvent) => void>;
575
+ mousemove: Promise<(event: MouseEvent) => void>;
576
576
  isSelectDirectionRight;
577
- getSelectMode(): "contain" | "intersect";
577
+ getSelectMode(): Promise<"contain" | "intersect">;
578
578
  mouseup;
579
579
  }
580
580
 
@@ -583,67 +583,67 @@ declare class ControllerSectionEditClass extends ControllerClass {
583
583
  mouseDoubleClick;
584
584
  mousemove;
585
585
  keydown;
586
- editSectionTitle(section: Section);
586
+ editSectionTitle(section: Section): Promise<void>;
587
587
  }
588
588
 
589
589
  declare class ControllerUtils {
590
- autoComplete: AutoCompleteManager;
590
+ autoComplete: Promise<AutoCompleteManager>;
591
591
  constructor(project: Project);
592
- editTextNode(clickedNode: TextNode, selectAll = true);
593
- editNodeDetailsByKeyboard();
594
- editNodeDetails(clickedNode: Entity);
595
- addTextNodeByLocation(location: Vector, selectCurrent: boolean = false, autoEdit: boolean = false);
596
- createConnectPoint(location: Vector);
597
- addTextNodeFromCurrentSelectedNode(direction: Direction, selectCurrent = false);
598
- textNodeInEditModeByUUID(uuid: string);
599
- getClickedStageObject(clickedLocation: Vector);
600
- isClickedResizeRect(clickedLocation: Vector): boolean;
601
- selectedEntityNormalizing();
592
+ editTextNode(clickedNode: TextNode, selectAll = true): Promise<void>;
593
+ editNodeDetailsByKeyboard(): Promise<void>;
594
+ editNodeDetails(clickedNode: Entity): Promise<void>;
595
+ addTextNodeByLocation(location: Vector, selectCurrent: boolean = false, autoEdit: boolean = false): Promise<void>;
596
+ createConnectPoint(location: Vector): Promise<void>;
597
+ addTextNodeFromCurrentSelectedNode(direction: Direction, selectCurrent = false): Promise<void>;
598
+ textNodeInEditModeByUUID(uuid: string): Promise<void>;
599
+ getClickedStageObject(clickedLocation: Vector): Promise<void>;
600
+ isClickedResizeRect(clickedLocation: Vector): Promise<boolean>;
601
+ selectedEntityNormalizing(): Promise<void>;
602
602
  }
603
603
 
604
604
  declare class CopyEngine {
605
- copyEngineImage: CopyEngineImage;
606
- copyEngineText: CopyEngineText;
605
+ copyEngineImage: Promise<CopyEngineImage>;
606
+ copyEngineText: Promise<CopyEngineText>;
607
607
  constructor(project: Project);
608
- copy();
609
- paste();
610
- virtualClipboardPaste();
611
- cut();
612
- readSystemClipboardAndPaste();
608
+ copy(): Promise<void>;
609
+ paste(): Promise<void>;
610
+ virtualClipboardPaste(): Promise<void>;
611
+ cut(): Promise<void>;
612
+ readSystemClipboardAndPaste(): Promise<void>;
613
613
  }
614
614
 
615
615
  declare class CopyEngineImage {
616
616
  constructor(project: Project);
617
- processClipboardImage();
618
- processImageStandard();
619
- copyEnginePasteImage(item: Blob);
617
+ processClipboardImage(): Promise<void>;
618
+ processImageStandard(): Promise<void>;
619
+ copyEnginePasteImage(item: Blob): Promise<void>;
620
620
  debugImageData(imageData: any): void;
621
- fixImageData(data: Uint8ClampedArray): Uint8ClampedArray;
622
- processImageWindowsCompat();
623
- ensureImageDataFormat(data: any, width: number, height: number): Uint8ClampedArray;
621
+ fixImageData(data: Uint8ClampedArray): Promise<Uint8ClampedArray>;
622
+ processImageWindowsCompat(): Promise<void>;
623
+ ensureImageDataFormat(data: any, width: number, height: number): Promise<Uint8ClampedArray>;
624
624
  validateCanvasContent(ctx: CanvasRenderingContext2D, width: number, height: number): void;
625
625
  createBlobFromCanvas(canvas: HTMLCanvasElement): Promise<Blob>;
626
626
  }
627
627
 
628
628
  declare class CopyEngineText {
629
629
  constructor(project: Project);
630
- copyEnginePastePlainText(item: string);
630
+ copyEnginePastePlainText(item: string): Promise<void>;
631
631
  }
632
632
 
633
633
  declare class CubicCatmullRomSplineEdge extends Edge {
634
- uuid: string;
635
- text: string;
636
- _source: ConnectableEntity;
637
- _target: ConnectableEntity;
638
- color: Color;
634
+ uuid: Promise<string>;
635
+ text: Promise<string>;
636
+ _source: Promise<ConnectableEntity>;
637
+ _target: Promise<ConnectableEntity>;
638
+ color: Promise<Color>;
639
639
  alpha;
640
640
  tension;
641
- controlPoints: Vector[];
642
- getControlPoints(): Vector[];
643
- addControlPoint();
644
- _collisionBox: CollisionBox;
645
- get collisionBox(): CollisionBox;
646
- fromTwoEntity(project: Project, source: ConnectableEntity, target: ConnectableEntity): CubicCatmullRomSplineEdge;
641
+ controlPoints: Promise<Vector>[];
642
+ getControlPoints(): Promise<Vector>[];
643
+ addControlPoint(): Promise<void>;
644
+ _collisionBox: Promise<CollisionBox>;
645
+ get collisionBox(): Promise<CollisionBox>;
646
+ fromTwoEntity(project: Project, source: ConnectableEntity, target: ConnectableEntity): Promise<CubicCatmullRomSplineEdge>;
647
647
  constructor(project: Project, {
648
648
  uuid,
649
649
  source,
@@ -656,10 +656,10 @@ declare class CubicCatmullRomSplineEdge extends Edge {
656
656
  sourceRectRate,
657
657
  targetRectRate,
658
658
  }: Serialized.CubicCatmullRomSplineEdge, unknown = false);
659
- getShape(): CubicCatmullRomSpline;
660
- get textRectangle(): Rectangle;
661
- autoUpdateControlPoints();
662
- getArrowHead(): { location: Vector; direction: Vector };
659
+ getShape(): Promise<CubicCatmullRomSpline>;
660
+ get textRectangle(): Promise<Rectangle>;
661
+ autoUpdateControlPoints(): Promise<void>;
662
+ getArrowHead(): Promise<{ location: Vector; direction: Vector }>;
663
663
  adjustSizeByText(): void;
664
664
  }
665
665
 
@@ -703,7 +703,7 @@ declare class CurveRenderer {
703
703
  renderSolidLineMultiple(locations: Vector[], color: Color, width: number): void;
704
704
  renderPenStroke(stroke: PenStrokeSegment[], color: Color): void;
705
705
  renderSolidLineMultipleSmoothly(locations: Vector[], color: Color, width: number): void;
706
- smoothPoints(points: Vector[], tension = 0.5);
706
+ smoothPoints(points: Vector[], tension = 0.5): Promise<void>;
707
707
  renderSolidLineMultipleWithWidth(locations: Vector[], color: Color, widthList: number[]): void;
708
708
  renderSolidLineMultipleWithShadow(locations: Vector[], color: Color, width: number, shadowColor: Color, shadowBlur: number): void;
709
709
  renderDashedLine(start: Vector, end: Vector, color: Color, width: number, dashLength: number): void;
@@ -718,23 +718,23 @@ declare class CurveRenderer {
718
718
 
719
719
  declare class DeleteManager {
720
720
  deleteHandlers;
721
- registerHandler<T extends StageObject>(constructor: Constructor<T>, handler: DeleteHandler<T>);
722
- constructor(project: Project);
723
- deleteEntities(deleteNodes: Entity[]);
724
- findDeleteHandler(object: StageObject);
725
- deleteSvgNode(entity: SvgNode);
726
- deleteLatexNode(entity: LatexNode);
727
- deleteReferenceBlockNode(entity: ReferenceBlockNode);
728
- deleteExtensionEntity(entity: ExtensionEntity);
729
- deletePenStroke(penStroke: PenStroke);
730
- deleteSection(entity: Section);
731
- deleteImageNode(entity: ImageNode);
732
- deleteUrlNode(entity: UrlNode);
733
- deleteConnectPoint(entity: ConnectPoint);
734
- deleteTextNode(entity: TextNode);
735
- deleteEntityAfterClearAssociation(entity: ConnectableEntity);
736
- deleteEdge(deleteEdge: Edge): boolean;
737
- deleteMultiTargetUndirectedEdge(edge: MultiTargetUndirectedEdge);
721
+ registerHandler<T extends StageObject>(constructor: Constructor<T>, handler: DeleteHandler<T>): Promise<void>;
722
+ constructor(project: Project);
723
+ deleteEntities(deleteNodes: Entity[]): Promise<void>;
724
+ findDeleteHandler(object: StageObject): Promise<void>;
725
+ deleteSvgNode(entity: SvgNode): Promise<void>;
726
+ deleteLatexNode(entity: LatexNode): Promise<void>;
727
+ deleteReferenceBlockNode(entity: ReferenceBlockNode): Promise<void>;
728
+ deleteExtensionEntity(entity: ExtensionEntity): Promise<void>;
729
+ deletePenStroke(penStroke: PenStroke): Promise<void>;
730
+ deleteSection(entity: Section): Promise<void>;
731
+ deleteImageNode(entity: ImageNode): Promise<void>;
732
+ deleteUrlNode(entity: UrlNode): Promise<void>;
733
+ deleteConnectPoint(entity: ConnectPoint): Promise<void>;
734
+ deleteTextNode(entity: TextNode): Promise<void>;
735
+ deleteEntityAfterClearAssociation(entity: ConnectableEntity): Promise<void>;
736
+ deleteEdge(deleteEdge: Edge): Promise<boolean>;
737
+ deleteMultiTargetUndirectedEdge(edge: MultiTargetUndirectedEdge): Promise<void>;
738
738
  }
739
739
 
740
740
  declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>);
@@ -758,168 +758,168 @@ declare enum Direction {
758
758
 
759
759
  declare class DrawingControllerRenderer {
760
760
  constructor(project: Project);
761
- renderTempDrawing();
762
- renderTrace(currentStrokeColor: Color);
763
- renderMouse(currentStrokeColor: Color);
764
- renderAdjusting(currentStrokeColor: Color);
765
- renderAxisMouse();
761
+ renderTempDrawing(): Promise<void>;
762
+ renderTrace(currentStrokeColor: Color): Promise<void>;
763
+ renderMouse(currentStrokeColor: Color): Promise<void>;
764
+ renderAdjusting(currentStrokeColor: Color): Promise<void>;
765
+ renderAxisMouse(): Promise<void>;
766
766
  diffAngle;
767
- rotateUpAngle();
768
- rotateDownAngle();
769
- renderAngleMouse(mouseLocation: Vector);
770
- renderLine(lineStart: Vector, lineEnd: Vector);
767
+ rotateUpAngle(): Promise<void>;
768
+ rotateDownAngle(): Promise<void>;
769
+ renderAngleMouse(mouseLocation: Vector): Promise<void>;
770
+ renderLine(lineStart: Vector, lineEnd: Vector): Promise<void>;
771
771
  }
772
772
 
773
773
  declare class Edge extends ConnectableAssociation {
774
- uuid: string;
775
- text: string;
776
- collisionBox: CollisionBox;
777
- get isHiddenBySectionCollapse(): boolean;
778
- _isSelected: boolean;
779
- get isSelected(): boolean;
774
+ uuid: Promise<string>;
775
+ text: Promise<string>;
776
+ collisionBox: Promise<CollisionBox>;
777
+ get isHiddenBySectionCollapse(): Promise<boolean>;
778
+ _isSelected: Promise<boolean>;
779
+ get isSelected(): Promise<boolean>;
780
780
  set isSelected(value: boolean);
781
- get textRectangle(): Rectangle;
782
- get bodyLine(): Line;
783
- get sourceLocation(): Vector;
784
- get targetLocation(): Vector;
785
- targetRectangleRate: Vector;
786
- sourceRectangleRate: Vector;
787
- getCenterLine(source: ConnectableEntity, target: ConnectableEntity): Line;
788
- getNormalVectorByRate(rate: Vector): Vector | null;
789
- getExactEdgePositionByRate(rect: Rectangle, rate: Vector): Vector | null;
781
+ get textRectangle(): Promise<Rectangle>;
782
+ get bodyLine(): Promise<Line>;
783
+ get sourceLocation(): Promise<Vector>;
784
+ get targetLocation(): Promise<Vector>;
785
+ targetRectangleRate: Promise<Vector>;
786
+ sourceRectangleRate: Promise<Vector>;
787
+ getCenterLine(source: ConnectableEntity, target: ConnectableEntity): Promise<Line>;
788
+ getNormalVectorByRate(rate: Vector): Promise<Vector | null>;
789
+ getExactEdgePositionByRate(rect: Rectangle, rate: Vector): Promise<Vector | null>;
790
790
  adjustSizeByText(): void;
791
- rename(text: string);
792
- isIntersectsWithRectangle(rectangle: Rectangle): boolean;
793
- isIntersectsWithLocation(location: Vector): boolean;
794
- isIntersectsWithLine(line: Line): boolean;
795
- isLeftToRight(): boolean;
796
- isRightToLeft(): boolean;
797
- isTopToBottom(): boolean;
798
- isBottomToTop(): boolean;
799
- isUnknownDirection(): boolean;
791
+ rename(text: string): Promise<void>;
792
+ isIntersectsWithRectangle(rectangle: Rectangle): Promise<boolean>;
793
+ isIntersectsWithLocation(location: Vector): Promise<boolean>;
794
+ isIntersectsWithLine(line: Line): Promise<boolean>;
795
+ isLeftToRight(): Promise<boolean>;
796
+ isRightToLeft(): Promise<boolean>;
797
+ isTopToBottom(): Promise<boolean>;
798
+ isBottomToTop(): Promise<boolean>;
799
+ isUnknownDirection(): Promise<boolean>;
800
800
  }
801
801
 
802
802
  declare class EdgeRenderer {
803
- currentRenderer: EdgeRendererClass;
804
- constructor(project: Project);
805
- checkRendererBySettings(lineStyle: Settings["lineStyle"]);
806
- updateRenderer(style: Settings["lineStyle"]);
807
- renderLineEdge(edge: LineEdge);
808
- renderCrEdge(edge: CubicCatmullRomSplineEdge);
809
- getMinNonCollapseParentSection(innerEntity: ConnectableEntity): Section;
810
- getEdgeView(edge: LineEdge): LineEdge;
811
- getEdgeSvg(edge: LineEdge): React.ReactNode;
812
- renderVirtualEdge(startNode: ConnectableEntity, mouseLocation: Vector, sourceRectangleRate?: Vector);
813
- renderVirtualConfirmedEdge(startNode: ConnectableEntity, endNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector);
814
- getCuttingEffects(edge: Edge);
815
- getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector);
816
- renderArrowHead(endPoint: Vector, direction: Vector, size: number, color: Color);
817
- generateArrowHeadSvg(endPoint: Vector, direction: Vector, size: number, edgeColor: Color): React.ReactNode;
803
+ currentRenderer: Promise<EdgeRendererClass>;
804
+ constructor(project: Project);
805
+ checkRendererBySettings(lineStyle: Settings["lineStyle"]): Promise<void>;
806
+ updateRenderer(style: Settings["lineStyle"]): Promise<void>;
807
+ renderLineEdge(edge: LineEdge): Promise<void>;
808
+ renderCrEdge(edge: CubicCatmullRomSplineEdge): Promise<void>;
809
+ getMinNonCollapseParentSection(innerEntity: ConnectableEntity): Promise<Section>;
810
+ getEdgeView(edge: LineEdge): Promise<LineEdge>;
811
+ getEdgeSvg(edge: LineEdge): Promise<React.ReactNode>;
812
+ renderVirtualEdge(startNode: ConnectableEntity, mouseLocation: Vector, sourceRectangleRate?: Vector): Promise<void>;
813
+ renderVirtualConfirmedEdge(startNode: ConnectableEntity, endNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Promise<void>;
814
+ getCuttingEffects(edge: Edge): Promise<void>;
815
+ getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Promise<void>;
816
+ renderArrowHead(endPoint: Vector, direction: Vector, size: number, color: Color): Promise<void>;
817
+ generateArrowHeadSvg(endPoint: Vector, direction: Vector, size: number, edgeColor: Color): Promise<React.ReactNode>;
818
818
  }
819
819
 
820
820
  declare class EdgeRendererClass {
821
821
  constructor();
822
- isCycleState(edge: LineEdge): boolean;
823
- isNormalState(edge: LineEdge): boolean;
822
+ isCycleState(edge: LineEdge): Promise<boolean>;
823
+ isNormalState(edge: LineEdge): Promise<boolean>;
824
824
  renderNormalState(edge: LineEdge): void;
825
825
  renderShiftingState(edge: LineEdge): void;
826
826
  renderCycleState(edge: LineEdge): void;
827
- getNormalStageSvg(edge: LineEdge): React.ReactNode;
828
- getShiftingStageSvg(edge: LineEdge): React.ReactNode;
829
- getCycleStageSvg(edge: LineEdge): React.ReactNode;
827
+ getNormalStageSvg(edge: LineEdge): Promise<React.ReactNode>;
828
+ getShiftingStageSvg(edge: LineEdge): Promise<React.ReactNode>;
829
+ getCycleStageSvg(edge: LineEdge): Promise<React.ReactNode>;
830
830
  renderVirtualEdge(startNode: ConnectableEntity, mouseLocation: Vector, sourceRectangleRate?: Vector): void;
831
831
  renderVirtualConfirmedEdge(startNode: ConnectableEntity, endNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): void;
832
- getCuttingEffects(edge: Edge): Effect[];
833
- getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Effect[];
832
+ getCuttingEffects(edge: Edge): Promise<Effect>[];
833
+ getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Promise<Effect>[];
834
834
  }
835
835
 
836
836
  declare class Effect {
837
837
  constructor(timeProgress: ProgressNumber, delay: number = 0);
838
- subEffects: Effect[];
838
+ subEffects: Promise<Effect>[];
839
839
  tick(project: Project): void;
840
840
  render(project: Project): void;
841
841
  }
842
842
 
843
843
  declare class Effects {
844
844
  constructor(project: Project);
845
- effects: Effect[];
846
- addEffect(effect: Effect);
847
- get effectsCount(): any;
848
- addEffects(effects: Effect[]);
849
- tick();
845
+ effects: Promise<Effect>[];
846
+ addEffect(effect: Effect): Promise<void>;
847
+ get effectsCount(): Promise<any>;
848
+ addEffects(effects: Effect[]): Promise<void>;
849
+ tick(): Promise<void>;
850
850
  }
851
851
 
852
852
  declare class Entity extends StageObject {
853
853
  move(delta: Vector): void;
854
854
  isAlignExcluded;
855
855
  moveTo(location: Vector): void;
856
- details: Value;
857
- isMouseHover: boolean;
858
- detailsButtonRectangle(): Rectangle;
859
- isMouseInDetailsButton(mouseWorldLocation: Vector): boolean;
860
- referenceButtonCircle(): Circle;
861
- isMouseInReferenceButton(mouseWorldLocation: Vector): boolean;
862
- updateFatherSectionByMove();
863
- updateOtherEntityLocationByMove();
864
- collideWithOtherEntity(other: Entity);
865
- isHiddenBySectionCollapse: boolean;
856
+ details: Promise<Value>;
857
+ isMouseHover: Promise<boolean>;
858
+ detailsButtonRectangle(): Promise<Rectangle>;
859
+ isMouseInDetailsButton(mouseWorldLocation: Vector): Promise<boolean>;
860
+ referenceButtonCircle(): Promise<Circle>;
861
+ isMouseInReferenceButton(mouseWorldLocation: Vector): Promise<boolean>;
862
+ updateFatherSectionByMove(): Promise<void>;
863
+ updateOtherEntityLocationByMove(): Promise<void>;
864
+ collideWithOtherEntity(other: Entity): Promise<void>;
865
+ isHiddenBySectionCollapse: Promise<boolean>;
866
866
  detailsManager;
867
867
  }
868
868
 
869
869
  declare class EntityDetailsButtonRenderer {
870
870
  constructor(project: Project);
871
- render(entity: Entity);
871
+ render(entity: Entity): Promise<void>;
872
872
  }
873
873
 
874
874
  declare class EntityMoveManager {
875
875
  constructor(project: Project);
876
- moveAccelerateCommander: Vector;
877
- moveSpeed: Vector;
876
+ moveAccelerateCommander: Promise<Vector>;
877
+ moveSpeed: Promise<Vector>;
878
878
  frictionExponent;
879
- tick();
880
- continuousMoveKeyPress(direction: Vector);
881
- continuousMoveKeyRelease(direction: Vector);
882
- stopImmediately();
883
- canMoveEntity(entity: Entity): boolean;
884
- moveEntityUtils(entity: Entity, delta: Vector, isAutoAdjustSection: boolean = true);
885
- jumpMoveEntityUtils(entity: Entity, delta: Vector);
886
- moveEntityToUtils(entity: Entity, location: Vector);
887
- moveSelectedEntities(delta: Vector, isAutoAdjustSection: boolean = true);
888
- jumpMoveSelectedConnectableEntities(delta: Vector);
889
- moveEntitiesWithChildren(delta: Vector, skipDashed = true);
890
- moveWithChildren(node: ConnectableEntity, delta: Vector, skipDashed = false);
879
+ tick(): Promise<void>;
880
+ continuousMoveKeyPress(direction: Vector): Promise<void>;
881
+ continuousMoveKeyRelease(direction: Vector): Promise<void>;
882
+ stopImmediately(): Promise<void>;
883
+ canMoveEntity(entity: Entity): Promise<boolean>;
884
+ moveEntityUtils(entity: Entity, delta: Vector, isAutoAdjustSection: boolean = true): Promise<void>;
885
+ jumpMoveEntityUtils(entity: Entity, delta: Vector): Promise<void>;
886
+ moveEntityToUtils(entity: Entity, location: Vector): Promise<void>;
887
+ moveSelectedEntities(delta: Vector, isAutoAdjustSection: boolean = true): Promise<void>;
888
+ jumpMoveSelectedConnectableEntities(delta: Vector): Promise<void>;
889
+ moveEntitiesWithChildren(delta: Vector, skipDashed = true): Promise<void>;
890
+ moveWithChildren(node: ConnectableEntity, delta: Vector, skipDashed = false): Promise<void>;
891
891
  }
892
892
 
893
893
  declare class EntityRenderer {
894
- sectionSortedZIndex: Section[];
895
- extensionEntityRenderer: ExtensionEntityRenderer;
894
+ sectionSortedZIndex: Promise<Section>[];
895
+ extensionEntityRenderer: Promise<ExtensionEntityRenderer>;
896
896
  constructor(project: Project);
897
- sortSectionsByZIndex();
897
+ sortSectionsByZIndex(): Promise<void>;
898
898
  tickNumber;
899
- renderAllSectionsBackground(viewRectangle: Rectangle);
900
- renderAllSectionsBigTitle(viewRectangle: Rectangle);
901
- shouldSkipEntity(entity: Entity, viewRectangle: Rectangle): boolean;
902
- isBackgroundImageNode(entity: Entity): boolean;
903
- renderAllEntities(viewRectangle: Rectangle);
904
- renderEntity(entity: Entity);
905
- renderEntityDebug(entity: Entity);
906
- renderConnectPoint(connectPoint: ConnectPoint);
907
- renderImageNode(imageNode: ImageNode);
908
- renderPenStroke(penStroke: PenStroke);
909
- renderEntityDetails(entity: Entity);
910
- _renderEntityDetails(entity: Entity, limitLiens: number);
911
- renderEntityTagShap(entity: Entity);
899
+ renderAllSectionsBackground(viewRectangle: Rectangle): Promise<void>;
900
+ renderAllSectionsBigTitle(viewRectangle: Rectangle): Promise<void>;
901
+ shouldSkipEntity(entity: Entity, viewRectangle: Rectangle): Promise<boolean>;
902
+ isBackgroundImageNode(entity: Entity): Promise<boolean>;
903
+ renderAllEntities(viewRectangle: Rectangle): Promise<void>;
904
+ renderEntity(entity: Entity): Promise<void>;
905
+ renderEntityDebug(entity: Entity): Promise<void>;
906
+ renderConnectPoint(connectPoint: ConnectPoint): Promise<void>;
907
+ renderImageNode(imageNode: ImageNode): Promise<void>;
908
+ renderPenStroke(penStroke: PenStroke): Promise<void>;
909
+ renderEntityDetails(entity: Entity): Promise<void>;
910
+ _renderEntityDetails(entity: Entity, limitLiens: number): Promise<void>;
911
+ renderEntityTagShap(entity: Entity): Promise<void>;
912
912
  }
913
913
 
914
914
  declare class ExtensionEntity extends ConnectableEntity {
915
- get geometryCenter(): Vector;
916
- uuid: string;
915
+ get geometryCenter(): Promise<Vector>;
916
+ uuid: Promise<string>;
917
917
  extensionId;
918
918
  typeName;
919
919
  customData: any;
920
- collisionBox: CollisionBox;
920
+ collisionBox: Promise<CollisionBox>;
921
921
  isHiddenBySectionCollapse;
922
- _bitmapCache: ImageBitmap | null;
922
+ _bitmapCache: Promise<ImageBitmap | null>;
923
923
  _isDirty;
924
924
  _isRendering;
925
925
  _renderFailed;
@@ -936,28 +936,28 @@ declare class ExtensionEntity extends ConnectableEntity {
936
936
  customData?: any;
937
937
  collisionBox?: CollisionBox;
938
938
  } = {});
939
- get rectangle(): Rectangle;
940
- get location(): Vector;
939
+ get rectangle(): Promise<Rectangle>;
940
+ get location(): Promise<Vector>;
941
941
  set location(v: Vector);
942
942
  move(delta: Vector): void;
943
943
  moveTo(location: Vector): void;
944
- markDirty();
945
- setCustomData(data: any);
944
+ markDirty(): Promise<void>;
945
+ setCustomData(data: any): Promise<void>;
946
946
  }
947
947
 
948
948
  declare interface ExtensionEntityConfig {
949
949
  initialData: any;
950
- collisionBox: CollisionBox;
950
+ collisionBox: Promise<CollisionBox>;
951
951
  }
952
952
 
953
953
  declare class ExtensionEntityRenderer {
954
954
  constructor(project: Project);
955
- render(entity: ExtensionEntity);
956
- drawPendingBox(ctx: CanvasRenderingContext2D, x: number, y: number, w: number, h: number);
957
- drawErrorBox(ctx: CanvasRenderingContext2D, x: number, y: number, w: number, h: number, text: string, extensionId: string, color: string);
958
- drawCollisionBox(ctx: CanvasRenderingContext2D, entity: ExtensionEntity, scale: number);
959
- renderSelectionOutline(ctx: CanvasRenderingContext2D, entity: ExtensionEntity, scale: number);
960
- triggerWorkerRender(entity: ExtensionEntity);
955
+ render(entity: ExtensionEntity): Promise<void>;
956
+ drawPendingBox(ctx: CanvasRenderingContext2D, x: number, y: number, w: number, h: number): Promise<void>;
957
+ drawErrorBox(ctx: CanvasRenderingContext2D, x: number, y: number, w: number, h: number, text: string, extensionId: string, color: string): Promise<void>;
958
+ drawCollisionBox(ctx: CanvasRenderingContext2D, entity: ExtensionEntity, scale: number): Promise<void>;
959
+ renderSelectionOutline(ctx: CanvasRenderingContext2D, entity: ExtensionEntity, scale: number): Promise<void>;
960
+ triggerWorkerRender(entity: ExtensionEntity): Promise<void>;
961
961
  }
962
962
 
963
963
  declare interface FileSystemProvider {
@@ -974,8 +974,8 @@ declare class GenerateFromFolder {
974
974
  constructor(project: Project);
975
975
  generateFromFolder(folderPath: string): Promise<void>;
976
976
  generateTreeFromFolder(folderPath: string): Promise<void>;
977
- getColorByPath(path: string): Color;
978
- fileExtColorMap: Record<string, string>;
977
+ getColorByPath(path: string): Promise<Color>;
978
+ fileExtColorMap: Promise<Record<string, string>>;
979
979
  }
980
980
 
981
981
  declare class GraphImporter extends BaseImporter {
@@ -985,57 +985,57 @@ declare class GraphImporter extends BaseImporter {
985
985
 
986
986
  declare class GraphMethods {
987
987
  constructor(project: Project);
988
- isTree(node: ConnectableEntity, skipDashed = false): boolean;
989
- getNodeDisplayName(node: ConnectableEntity): string;
990
- validateTreeStructure(rootNode: ConnectableEntity, skipDashed = false): TreeValidationResult;
991
- nodeChildrenArray(node: ConnectableEntity, skipDashed = false): ConnectableEntity[];
992
- nodeParentArray(node: ConnectableEntity, skipDashed = false): ConnectableEntity[];
993
- edgeChildrenArray(node: ConnectableEntity): Edge[];
994
- edgeParentArray(node: ConnectableEntity): Edge[];
995
- getReversedEdgeDict(skipDashed = false): Record<string, string>;
996
- isCurrentNodeInTreeStructAndNotRoot(node: ConnectableEntity): boolean;
997
- getRoots(node: ConnectableEntity, skipDashed = false): ConnectableEntity[];
998
- isConnected(node: ConnectableEntity, target: ConnectableEntity): boolean;
999
- getSuccessorSet(node: ConnectableEntity, isHaveSelf: boolean = true, skipDashed = false): ConnectableEntity[];
1000
- getOneStepSuccessorSet(node: ConnectableEntity): ConnectableEntity[];
1001
- getEdgesBetween(node1: ConnectableEntity, node2: ConnectableEntity): Edge[];
1002
- getEdgeFromTwoEntity(fromNode: ConnectableEntity, toNode: ConnectableEntity): Edge | null;
1003
- getHyperEdgesByNode(node: ConnectableEntity): MultiTargetUndirectedEdge[];
1004
- getOutgoingEdges(node: ConnectableEntity): Edge[];
1005
- getIncomingEdges(node: ConnectableEntity): Edge[];
1006
- getNodesConnectedByHyperEdges(node: ConnectableEntity): ConnectableEntity[];
1007
- nodeChildrenArrayWithinSet(node: ConnectableEntity, nodeSet: Set<string>): ConnectableEntity[];
1008
- nodeParentArrayWithinSet(node: ConnectableEntity, nodeSet: Set<string>): ConnectableEntity[];
1009
- getTreeRootByNodes(nodes: ConnectableEntity[]): ConnectableEntity | null;
1010
- isTreeByNodes(nodes: ConnectableEntity[]): boolean;
1011
- isDAGByNodes(nodes: ConnectableEntity[]): boolean;
988
+ isTree(node: ConnectableEntity, skipDashed = false): Promise<boolean>;
989
+ getNodeDisplayName(node: ConnectableEntity): Promise<string>;
990
+ validateTreeStructure(rootNode: ConnectableEntity, skipDashed = false): Promise<TreeValidationResult>;
991
+ nodeChildrenArray(node: ConnectableEntity, skipDashed = false): Promise<ConnectableEntity>[];
992
+ nodeParentArray(node: ConnectableEntity, skipDashed = false): Promise<ConnectableEntity>[];
993
+ edgeChildrenArray(node: ConnectableEntity): Promise<Edge>[];
994
+ edgeParentArray(node: ConnectableEntity): Promise<Edge>[];
995
+ getReversedEdgeDict(skipDashed = false): Promise<Record<string, string>>;
996
+ isCurrentNodeInTreeStructAndNotRoot(node: ConnectableEntity): Promise<boolean>;
997
+ getRoots(node: ConnectableEntity, skipDashed = false): Promise<ConnectableEntity>[];
998
+ isConnected(node: ConnectableEntity, target: ConnectableEntity): Promise<boolean>;
999
+ getSuccessorSet(node: ConnectableEntity, isHaveSelf: boolean = true, skipDashed = false): Promise<ConnectableEntity>[];
1000
+ getOneStepSuccessorSet(node: ConnectableEntity): Promise<ConnectableEntity>[];
1001
+ getEdgesBetween(node1: ConnectableEntity, node2: ConnectableEntity): Promise<Edge>[];
1002
+ getEdgeFromTwoEntity(fromNode: ConnectableEntity, toNode: ConnectableEntity): Promise<Edge | null>;
1003
+ getHyperEdgesByNode(node: ConnectableEntity): Promise<MultiTargetUndirectedEdge>[];
1004
+ getOutgoingEdges(node: ConnectableEntity): Promise<Edge>[];
1005
+ getIncomingEdges(node: ConnectableEntity): Promise<Edge>[];
1006
+ getNodesConnectedByHyperEdges(node: ConnectableEntity): Promise<ConnectableEntity>[];
1007
+ nodeChildrenArrayWithinSet(node: ConnectableEntity, nodeSet: Set<string>): Promise<ConnectableEntity>[];
1008
+ nodeParentArrayWithinSet(node: ConnectableEntity, nodeSet: Set<string>): Promise<ConnectableEntity>[];
1009
+ getTreeRootByNodes(nodes: ConnectableEntity[]): Promise<ConnectableEntity | null>;
1010
+ isTreeByNodes(nodes: ConnectableEntity[]): Promise<boolean>;
1011
+ isDAGByNodes(nodes: ConnectableEntity[]): Promise<boolean>;
1012
1012
  }
1013
1013
 
1014
1014
  declare class HistoryManager extends HistoryManagerAbs {
1015
- memoryEfficient: HistoryManagerAbs;
1016
- timeEfficient: HistoryManagerAbs;
1017
- currentManager: HistoryManagerAbs;
1015
+ memoryEfficient: Promise<HistoryManagerAbs>;
1016
+ timeEfficient: Promise<HistoryManagerAbs>;
1017
+ currentManager: Promise<HistoryManagerAbs>;
1018
1018
  constructor(project: Project);
1019
1019
  recordStep(): void;
1020
1020
  undo(): void;
1021
1021
  redo(): void;
1022
- get(index: number): Record<string, any>[];
1022
+ get(index: number): Promise<Record<string, any>>[];
1023
1023
  clearHistory(): void;
1024
1024
  switchMode(useTimeEfficient: boolean): void;
1025
1025
  }
1026
1026
 
1027
1027
  declare class ImageNode extends ConnectableEntity implements ResizeAble {
1028
- isHiddenBySectionCollapse: boolean;
1029
- uuid: string;
1030
- collisionBox: CollisionBox;
1031
- attachmentId: string;
1032
- scale: number;
1033
- isBackground: boolean;
1034
- _isSelected: boolean;
1035
- get isSelected(): any;
1028
+ isHiddenBySectionCollapse: Promise<boolean>;
1029
+ uuid: Promise<string>;
1030
+ collisionBox: Promise<CollisionBox>;
1031
+ attachmentId: Promise<string>;
1032
+ scale: Promise<number>;
1033
+ isBackground: Promise<boolean>;
1034
+ _isSelected: Promise<boolean>;
1035
+ get isSelected(): Promise<any>;
1036
1036
  set isSelected(value: boolean);
1037
- bitmap: ImageBitmap | undefined;
1038
- state: "loading" | "success" | "notFound";
1037
+ bitmap: Promise<ImageBitmap | undefined>;
1038
+ state: Promise<"loading" | "success" | "notFound">;
1039
1039
  constructor(project: Project, {
1040
1040
  uuid = crypto.randomUUID() as string,
1041
1041
  collisionBox = new CollisionBox([new Rectangle(Vector.getZero(), Vector.getZero())]),
@@ -1044,28 +1044,28 @@ declare class ImageNode extends ConnectableEntity implements ResizeAble {
1044
1044
  scale = 1,
1045
1045
  isBackground = false,
1046
1046
  }, unknown = false);
1047
- scaleUpdate(scaleDiff: number);
1048
- get rectangle(): Rectangle;
1049
- get geometryCenter(): any;
1047
+ scaleUpdate(scaleDiff: number): Promise<void>;
1048
+ get rectangle(): Promise<Rectangle>;
1049
+ get geometryCenter(): Promise<any>;
1050
1050
  move(delta: Vector): void;
1051
1051
  moveTo(location: Vector): void;
1052
- reverseColors();
1053
- swapRedBlueChannels();
1054
- resizeHandle(delta: Vector);
1055
- getResizeHandleRect(): Rectangle;
1052
+ reverseColors(): Promise<void>;
1053
+ swapRedBlueChannels(): Promise<void>;
1054
+ resizeHandle(delta: Vector): Promise<void>;
1055
+ getResizeHandleRect(): Promise<Rectangle>;
1056
1056
  }
1057
1057
 
1058
1058
  declare class ImageRenderer {
1059
1059
  constructor(project: Project);
1060
- renderImageElement(source: Exclude<CanvasImageSource, VideoFrame | SVGElement>, location: Vector, scale: number = 1 / (window.devicePixelRatio || 1));
1061
- renderImageBitmap(bitmap: ImageBitmap | undefined, location: Vector, scale: number = 1 / (window.devicePixelRatio || 1));
1060
+ renderImageElement(source: Exclude<CanvasImageSource, VideoFrame | SVGElement>, location: Vector, scale: number = 1 / (window.devicePixelRatio || 1)): Promise<void>;
1061
+ renderImageBitmap(bitmap: ImageBitmap | undefined, location: Vector, scale: number = 1 / (window.devicePixelRatio || 1)): Promise<void>;
1062
1062
  }
1063
1063
 
1064
1064
  declare class InputElement {
1065
1065
  input(location: Vector, defaultValue: string, onChange: (value: string) => void = () => {}, style: Partial<CSSStyleDeclaration> = {}): Promise<string>;
1066
1066
  textarea(defaultValue: string, onChange: (value: string, element: HTMLTextAreaElement) => void = () => {}, style: Partial<CSSStyleDeclaration> = {}, selectAllWhenCreated = true): Promise<string>;
1067
- addSuccessEffect();
1068
- addFailEffect(withToast = true);
1067
+ addSuccessEffect(): Promise<void>;
1068
+ addFailEffect(withToast = true): Promise<void>;
1069
1069
  constructor(project: Project);
1070
1070
  }
1071
1071
 
@@ -1073,30 +1073,30 @@ declare class KeyBindHintEngine {
1073
1073
  constructor(project: Project);
1074
1074
  ITEMS_PER_PAGE;
1075
1075
  currentPage;
1076
- currentModifierCombo: string;
1077
- lastModifierCombo: string;
1076
+ currentModifierCombo: Promise<string>;
1077
+ lastModifierCombo: Promise<string>;
1078
1078
  isShowingHint;
1079
1079
  hasOtherKeyPressed;
1080
1080
  hasModifierReleased;
1081
- cachedKeyBinds: Array<{
1081
+ cachedKeyBinds: Promise<Array<{
1082
1082
  id: string;
1083
1083
  key: string;
1084
1084
  displayKey: string;
1085
1085
  title: string;
1086
- }>;
1087
- getCurrentModifierCombo(): string;
1088
- isOnlyModifiersPressed(): boolean;
1089
- convertModifierComboForMatching(combo: string): string;
1090
- isKeyBindMatchModifier(key: string, modifierCombo: string): boolean;
1091
- getMatchingKeyBinds(modifierCombo: string): Array<{
1086
+ }>>;
1087
+ getCurrentModifierCombo(): Promise<string>;
1088
+ isOnlyModifiersPressed(): Promise<boolean>;
1089
+ convertModifierComboForMatching(combo: string): Promise<string>;
1090
+ isKeyBindMatchModifier(key: string, modifierCombo: string): Promise<boolean>;
1091
+ getMatchingKeyBinds(modifierCombo: string): Promise<Array<{
1092
1092
  id: string;
1093
1093
  key: string;
1094
1094
  displayKey: string;
1095
1095
  title: string;
1096
- }>;
1097
- getKeyBindTitle(id: string): string;
1098
- update();
1099
- render();
1096
+ }>>;
1097
+ getKeyBindTitle(id: string): Promise<string>;
1098
+ update(): Promise<void>;
1099
+ render(): Promise<void>;
1100
1100
  }
1101
1101
 
1102
1102
  declare type KeyBindIcon = ForwardRefExoticComponent<Omit<LucideProps, "ref"> & RefAttributes<SVGSVGElement>>;
@@ -1106,67 +1106,67 @@ declare type KeyBindWhen = (project?: Project) => boolean | Promise<boolean>;
1106
1106
  declare class KeyboardOnlyEngine {
1107
1107
  constructor(project: Project);
1108
1108
  openning;
1109
- setOpenning(value: boolean);
1110
- isOpenning();
1111
- dispose();
1109
+ setOpenning(value: boolean): Promise<void>;
1110
+ isOpenning(): Promise<void>;
1111
+ dispose(): Promise<void>;
1112
1112
  startEditNode;
1113
1113
  onKeyUp;
1114
1114
  onKeyDown;
1115
- addSuccessEffect();
1116
- addFailEffect();
1115
+ addSuccessEffect(): Promise<void>;
1116
+ addFailEffect(): Promise<void>;
1117
1117
  }
1118
1118
 
1119
1119
  declare class KeyboardOnlyGraphEngine {
1120
1120
  targetLocationController;
1121
- virtualTargetLocation(): Vector;
1122
- tick();
1121
+ virtualTargetLocation(): Promise<Vector>;
1122
+ tick(): Promise<void>;
1123
1123
  constructor(project: Project);
1124
- isEnableVirtualCreate(): boolean;
1124
+ isEnableVirtualCreate(): Promise<boolean>;
1125
1125
  _isCreating;
1126
- _creatingFromUUID: string | null;
1127
- creatingFromUUID(): string | null;
1128
- isCreating(): boolean;
1126
+ _creatingFromUUID: Promise<string | null>;
1127
+ creatingFromUUID(): Promise<string | null>;
1128
+ isCreating(): Promise<boolean>;
1129
1129
  createStart(): void;
1130
1130
  lastPressTabTime;
1131
- getPressTabTimeInterval(): number;
1132
- createFinished();
1131
+ getPressTabTimeInterval(): Promise<number>;
1132
+ createFinished(): Promise<void>;
1133
1133
  moveVirtualTarget(delta: Vector): void;
1134
1134
  createCancel(): void;
1135
- isTargetLocationHaveEntity(): boolean;
1135
+ isTargetLocationHaveEntity(): Promise<boolean>;
1136
1136
  }
1137
1137
 
1138
1138
  declare class KeyboardOnlyTreeEngine {
1139
1139
  constructor(project: Project);
1140
- getNodePreDirection(node: ConnectableEntity): "right" | "left" | "down" | "up";
1141
- preDirectionCacheMap: Map<string, "right" | "left" | "down" | "up">;
1142
- getGrowthLineStart(node: ConnectableEntity, direction: "right" | "left" | "down" | "up"): Vector;
1143
- getGrowthLineEnd(node: ConnectableEntity, direction: "right" | "left" | "down" | "up"): Vector;
1144
- findConnectTargetByGrowthLine(node: ConnectableEntity, direction: "right" | "left" | "down" | "up"): ConnectableEntity | null;
1140
+ getNodePreDirection(node: ConnectableEntity): Promise<"right" | "left" | "down" | "up">;
1141
+ preDirectionCacheMap: Promise<Map<string, "right" | "left" | "down" | "up">>;
1142
+ getGrowthLineStart(node: ConnectableEntity, direction: "right" | "left" | "down" | "up"): Promise<Vector>;
1143
+ getGrowthLineEnd(node: ConnectableEntity, direction: "right" | "left" | "down" | "up"): Promise<Vector>;
1144
+ findConnectTargetByGrowthLine(node: ConnectableEntity, direction: "right" | "left" | "down" | "up"): Promise<ConnectableEntity | null>;
1145
1145
  changePreDirection(nodes: ConnectableEntity[], direction: "right" | "left" | "down" | "up"): void;
1146
1146
  addNodeEffectByPreDirection(node: ConnectableEntity): void;
1147
- onDeepGenerateNode(defaultText = "新节点", selectAll = true);
1148
- onBroadGenerateNode();
1149
- adjustTreeNode(entity: ConnectableEntity, withEffect = true);
1150
- onDeleteCurrentNode();
1151
- calculateNewNodeFontScaleLevel(parentNode: ConnectableEntity, preDirection: "right" | "left" | "down" | "up"): number;
1147
+ onDeepGenerateNode(defaultText = "新节点", selectAll = true): Promise<void>;
1148
+ onBroadGenerateNode(): Promise<void>;
1149
+ adjustTreeNode(entity: ConnectableEntity, withEffect = true): Promise<void>;
1150
+ onDeleteCurrentNode(): Promise<void>;
1151
+ calculateNewNodeFontScaleLevel(parentNode: ConnectableEntity, preDirection: "right" | "left" | "down" | "up"): Promise<number>;
1152
1152
  }
1153
1153
 
1154
1154
  declare class LatexNode extends ConnectableEntity {
1155
- uuid: string;
1156
- latexSource: string;
1157
- collisionBox: CollisionBox;
1158
- color: Color;
1159
- fontScaleLevel: number;
1160
- isHiddenBySectionCollapse: boolean;
1161
- image: HTMLImageElement;
1162
- svgOriginalSize: Vector;
1163
- state: "loading" | "success" | "error";
1164
- currentRenderedColorCss: string;
1165
- _isSelected: boolean;
1166
- get isSelected(): any;
1155
+ uuid: Promise<string>;
1156
+ latexSource: Promise<string>;
1157
+ collisionBox: Promise<CollisionBox>;
1158
+ color: Promise<Color>;
1159
+ fontScaleLevel: Promise<number>;
1160
+ isHiddenBySectionCollapse: Promise<boolean>;
1161
+ image: Promise<HTMLImageElement>;
1162
+ svgOriginalSize: Promise<Vector>;
1163
+ state: Promise<"loading" | "success" | "error">;
1164
+ currentRenderedColorCss: Promise<string>;
1165
+ _isSelected: Promise<boolean>;
1166
+ get isSelected(): Promise<any>;
1167
1167
  set isSelected(value: boolean);
1168
- get rectangle(): Rectangle;
1169
- get geometryCenter(): Vector;
1168
+ get rectangle(): Promise<Rectangle>;
1169
+ get geometryCenter(): Promise<Vector>;
1170
1170
  constructor(project: Project, {
1171
1171
  uuid = crypto.randomUUID(),
1172
1172
  details = [],
@@ -1182,7 +1182,7 @@ declare class LatexNode extends ConnectableEntity {
1182
1182
  color?: Color;
1183
1183
  fontScaleLevel?: number;
1184
1184
  });
1185
- getScale(): number;
1185
+ getScale(): Promise<number>;
1186
1186
  increaseFontSize(anchorRate?: Vector): void;
1187
1187
  decreaseFontSize(anchorRate?: Vector): void;
1188
1188
  updateCollisionBoxByScale(anchorRate?: Vector): void;
@@ -1196,37 +1196,37 @@ declare class LatexNode extends ConnectableEntity {
1196
1196
 
1197
1197
  declare class LatexNodeRenderer {
1198
1198
  constructor(project: Project);
1199
- getTargetColorCss(node: LatexNode): string;
1200
- render(node: LatexNode);
1199
+ getTargetColorCss(node: LatexNode): Promise<string>;
1200
+ render(node: LatexNode): Promise<void>;
1201
1201
  }
1202
1202
 
1203
1203
  declare class LayoutManager {
1204
1204
  constructor(project: Project);
1205
- alignLeft();
1206
- alignRight();
1207
- alignTop();
1208
- alignBottom();
1209
- alignCenterHorizontal();
1210
- alignCenterVertical();
1211
- alignHorizontalSpaceBetween();
1212
- alignVerticalSpaceBetween();
1213
- alignLeftToRightNoSpace();
1214
- alignTopToBottomNoSpace();
1215
- layoutBySelected(layoutFunction: (entities: Entity[]) => void, isDeep: boolean);
1216
- adjustSelectedTextNodeWidth(mode: "maxWidth" | "minWidth" | "average");
1217
- layoutToSquare(entities: Entity[]);
1218
- layoutToTightSquare(entities: Entity[]);
1205
+ alignLeft(): Promise<void>;
1206
+ alignRight(): Promise<void>;
1207
+ alignTop(): Promise<void>;
1208
+ alignBottom(): Promise<void>;
1209
+ alignCenterHorizontal(): Promise<void>;
1210
+ alignCenterVertical(): Promise<void>;
1211
+ alignHorizontalSpaceBetween(): Promise<void>;
1212
+ alignVerticalSpaceBetween(): Promise<void>;
1213
+ alignLeftToRightNoSpace(): Promise<void>;
1214
+ alignTopToBottomNoSpace(): Promise<void>;
1215
+ layoutBySelected(layoutFunction: (entities: Entity[]) => void, isDeep: boolean): Promise<void>;
1216
+ adjustSelectedTextNodeWidth(mode: "maxWidth" | "minWidth" | "average"): Promise<void>;
1217
+ layoutToSquare(entities: Entity[]): Promise<void>;
1218
+ layoutToTightSquare(entities: Entity[]): Promise<void>;
1219
1219
  }
1220
1220
 
1221
1221
  declare class LineEdge extends Edge {
1222
- uuid: string;
1223
- text: string;
1224
- color: Color;
1225
- lineType: string;
1226
- get collisionBox(): CollisionBox;
1227
- get shiftingIndex(): number;
1222
+ uuid: Promise<string>;
1223
+ text: Promise<string>;
1224
+ color: Promise<Color>;
1225
+ lineType: Promise<string>;
1226
+ get collisionBox(): Promise<CollisionBox>;
1227
+ get shiftingIndex(): Promise<number>;
1228
1228
  set shiftingIndex(value: number);
1229
- _shiftingIndex: number;
1229
+ _shiftingIndex: Promise<number>;
1230
1230
  constructor(project: Project, {
1231
1231
  associationList = [] as ConnectableEntity[],
1232
1232
  text = "",
@@ -1236,12 +1236,12 @@ declare class LineEdge extends Edge {
1236
1236
  targetRectangleRate = Vector.same(0.5),
1237
1237
  lineType = "solid",
1238
1238
  }, unknown = false);
1239
- fromTwoEntity(project: Project, source: ConnectableEntity, target: ConnectableEntity): LineEdge;
1240
- rename(text: string);
1241
- get edgeWidth(): number;
1242
- get textFontSize(): number;
1243
- get textRectangle(): Rectangle;
1244
- get shiftingMidPoint(): Vector;
1239
+ fromTwoEntity(project: Project, source: ConnectableEntity, target: ConnectableEntity): Promise<LineEdge>;
1240
+ rename(text: string): Promise<void>;
1241
+ get edgeWidth(): Promise<number>;
1242
+ get textFontSize(): Promise<number>;
1243
+ get textRectangle(): Promise<Rectangle>;
1244
+ get shiftingMidPoint(): Promise<Vector>;
1245
1245
  adjustSizeByText(): void;
1246
1246
  }
1247
1247
 
@@ -1333,8 +1333,8 @@ declare enum LogicNodeNameEnum {
1333
1333
  }
1334
1334
 
1335
1335
  declare class MarkdownExporter extends BaseExporter {
1336
- export(textNode: TextNode): string;
1337
- getNodeMarkdown(node: TextNode, level: number): string;
1336
+ export(textNode: TextNode): Promise<string>;
1337
+ getNodeMarkdown(node: TextNode, level: number): Promise<string>;
1338
1338
  }
1339
1339
 
1340
1340
  declare class MarkdownImporter extends BaseImporter {
@@ -1343,57 +1343,57 @@ declare class MarkdownImporter extends BaseImporter {
1343
1343
  }
1344
1344
 
1345
1345
  declare interface MarkdownNode {
1346
- title: string;
1347
- content: string;
1348
- children: MarkdownNode[];
1346
+ title: Promise<string>;
1347
+ content: Promise<string>;
1348
+ children: Promise<MarkdownNode>[];
1349
1349
  }
1350
1350
 
1351
1351
  declare class MermaidExporter {
1352
1352
  constructor(project: Project);
1353
- export(entities: Entity[]): string;
1353
+ export(entities: Entity[]): Promise<string>;
1354
1354
  }
1355
1355
 
1356
1356
  declare class MermaidImporter extends BaseImporter {
1357
1357
  constructor(project: Project);
1358
1358
  import(text: string, diffLocation: Vector = Vector.getZero()): void;
1359
- normalizeLine(line: string): string;
1360
- decodeMermaidText(value: string): string;
1361
- sanitizeLabel(raw: string | undefined): string | undefined;
1362
- parseNodeToken(token: string): MermaidNodeToken;
1359
+ normalizeLine(line: string): Promise<string>;
1360
+ decodeMermaidText(value: string): Promise<string>;
1361
+ sanitizeLabel(raw: string | undefined): Promise<string | undefined>;
1362
+ parseNodeToken(token: string): Promise<MermaidNodeToken>;
1363
1363
  }
1364
1364
 
1365
1365
  declare class MouseInteraction {
1366
1366
  constructor(project: Project);
1367
- _hoverEdges: Edge[];
1368
- _hoverSections: Section[];
1369
- _hoverConnectPoints: ConnectPoint[];
1370
- _hoverMultiTargetEdges: MultiTargetUndirectedEdge[];
1371
- get hoverEdges(): Edge[];
1372
- get firstHoverEdge(): Edge | undefined;
1373
- get hoverSections(): Section[];
1374
- get hoverConnectPoints(): ConnectPoint[];
1375
- get firstHoverSection(): Section | undefined;
1376
- get hoverMultiTargetEdges(): MultiTargetUndirectedEdge[];
1377
- get firstHoverMultiTargetEdge(): MultiTargetUndirectedEdge | undefined;
1367
+ _hoverEdges: Promise<Edge>[];
1368
+ _hoverSections: Promise<Section>[];
1369
+ _hoverConnectPoints: Promise<ConnectPoint>[];
1370
+ _hoverMultiTargetEdges: Promise<MultiTargetUndirectedEdge>[];
1371
+ get hoverEdges(): Promise<Edge>[];
1372
+ get firstHoverEdge(): Promise<Edge | undefined>;
1373
+ get hoverSections(): Promise<Section>[];
1374
+ get hoverConnectPoints(): Promise<ConnectPoint>[];
1375
+ get firstHoverSection(): Promise<Section | undefined>;
1376
+ get hoverMultiTargetEdges(): Promise<MultiTargetUndirectedEdge>[];
1377
+ get firstHoverMultiTargetEdge(): Promise<MultiTargetUndirectedEdge | undefined>;
1378
1378
  updateByMouseMove(mouseWorldLocation: Vector): void;
1379
1379
  }
1380
1380
 
1381
1381
  declare class MultiTargetEdgeMove {
1382
1382
  constructor(project: Project);
1383
- moveMultiTargetEdge(diffLocation: Vector);
1383
+ moveMultiTargetEdge(diffLocation: Vector): Promise<void>;
1384
1384
  }
1385
1385
 
1386
1386
  declare class MultiTargetUndirectedEdge extends ConnectableAssociation {
1387
- uuid: string;
1388
- get collisionBox(): CollisionBox;
1389
- text: string;
1390
- color: Color;
1391
- rectRates: Vector[];
1392
- centerRate: Vector;
1393
- arrow: UndirectedEdgeArrowType;
1394
- renderType: MultiTargetUndirectedEdgeRenderType;
1395
- padding: number;
1396
- rename(text: string);
1387
+ uuid: Promise<string>;
1388
+ get collisionBox(): Promise<CollisionBox>;
1389
+ text: Promise<string>;
1390
+ color: Promise<Color>;
1391
+ rectRates: Promise<Vector>[];
1392
+ centerRate: Promise<Vector>;
1393
+ arrow: Promise<UndirectedEdgeArrowType>;
1394
+ renderType: Promise<MultiTargetUndirectedEdgeRenderType>;
1395
+ padding: Promise<number>;
1396
+ rename(text: string): Promise<void>;
1397
1397
  constructor(project: Project, {
1398
1398
  associationList = [] as ConnectableEntity[],
1399
1399
  text = "",
@@ -1415,17 +1415,17 @@ declare class MultiTargetUndirectedEdge extends ConnectableAssociation {
1415
1415
  padding?: number;
1416
1416
  renderType?: MultiTargetUndirectedEdgeRenderType;
1417
1417
  }, unknown = false);
1418
- get centerLocation(): Vector;
1419
- get textRectangle(): Rectangle;
1420
- createFromSomeEntity(project: Project, entities: ConnectableEntity[]);
1421
- _isSelected: boolean;
1422
- get isSelected(): boolean;
1418
+ get centerLocation(): Promise<Vector>;
1419
+ get textRectangle(): Promise<Rectangle>;
1420
+ createFromSomeEntity(project: Project, entities: ConnectableEntity[]): Promise<void>;
1421
+ _isSelected: Promise<boolean>;
1422
+ get isSelected(): Promise<boolean>;
1423
1423
  set isSelected(value: boolean);
1424
1424
  }
1425
1425
 
1426
1426
  declare class MultiTargetUndirectedEdgeRenderer {
1427
1427
  constructor(project: Project);
1428
- render(edge: MultiTargetUndirectedEdge);
1428
+ render(edge: MultiTargetUndirectedEdge): Promise<void>;
1429
1429
  renderLineShape(edge: MultiTargetUndirectedEdge, edgeColor: Color, centerLocation: Vector): void;
1430
1430
  renderConvexShape(edge: MultiTargetUndirectedEdge, edgeColor: Color): void;
1431
1431
  renderCircle(edge: MultiTargetUndirectedEdge, edgeColor: Color): void;
@@ -1438,72 +1438,72 @@ declare class NodeAdder {
1438
1438
  }): Promise<string>;
1439
1439
  addTextNodeFromCurrentSelectedNode(direction: Direction, addToSections: Section[], selectCurrent = false): Promise<string>;
1440
1440
  getAutoName(): Promise<string>;
1441
- getAutoColor(): Color;
1442
- addConnectPoint(clickWorldLocation: Vector, addToSections: Section[]): string;
1441
+ getAutoColor(): Promise<Color>;
1442
+ addConnectPoint(clickWorldLocation: Vector, addToSections: Section[]): Promise<string>;
1443
1443
  addNodeGraphByText(text: string, diffLocation: Vector = Vector.getZero()): void;
1444
1444
  addNodeTreeByText(text: string, indention: number, diffLocation: Vector = Vector.getZero()): void;
1445
1445
  addNodeMermaidByText(text: string, diffLocation: Vector = Vector.getZero()): void;
1446
- addNodeByMarkdown(markdownText: string, diffLocation: Vector = Vector.getZero(), autoLayout = true);
1447
- getIndentLevel(line: string, indention: number): number;
1446
+ addNodeByMarkdown(markdownText: string, diffLocation: Vector = Vector.getZero(), autoLayout = true): Promise<void>;
1447
+ getIndentLevel(line: string, indention: number): Promise<number>;
1448
1448
  }
1449
1449
 
1450
1450
  declare class NodeConnector {
1451
1451
  constructor(project: Project);
1452
- isConnectable(fromNode: ConnectableEntity, toNode: ConnectableEntity): boolean;
1452
+ isConnectable(fromNode: ConnectableEntity, toNode: ConnectableEntity): Promise<boolean>;
1453
1453
  connectConnectableEntity(fromNode: ConnectableEntity, toNode: ConnectableEntity, text: string = "", targetRectRate?: [number, number], sourceRectRate?: [number, number]): void;
1454
1454
  connectEntityFast(fromNode: ConnectableEntity, toNode: ConnectableEntity, text: string = ""): void;
1455
1455
  addCrEdge(fromNode: ConnectableEntity, toNode: ConnectableEntity): void;
1456
- reverseEdges(edges: LineEdge[]);
1457
- changeEdgeTarget(edge: LineEdge, newTarget: ConnectableEntity);
1458
- changeEdgeSource(edge: LineEdge, newSource: ConnectableEntity);
1459
- changeSelectedEdgeTarget(newTarget: ConnectableEntity);
1460
- changeSelectedEdgeSource(newSource: ConnectableEntity);
1456
+ reverseEdges(edges: LineEdge[]): Promise<void>;
1457
+ changeEdgeTarget(edge: LineEdge, newTarget: ConnectableEntity): Promise<void>;
1458
+ changeEdgeSource(edge: LineEdge, newSource: ConnectableEntity): Promise<void>;
1459
+ changeSelectedEdgeTarget(newTarget: ConnectableEntity): Promise<void>;
1460
+ changeSelectedEdgeSource(newSource: ConnectableEntity): Promise<void>;
1461
1461
  }
1462
1462
 
1463
1463
  declare class PenStroke extends Entity {
1464
- isAlignExcluded: boolean;
1465
- isHiddenBySectionCollapse: boolean;
1466
- collisionBox: CollisionBox;
1467
- uuid: string;
1464
+ isAlignExcluded: Promise<boolean>;
1465
+ isHiddenBySectionCollapse: Promise<boolean>;
1466
+ collisionBox: Promise<CollisionBox>;
1467
+ uuid: Promise<string>;
1468
1468
  move(delta: Vector): void;
1469
1469
  moveTo(location: Vector): void;
1470
- updateCollisionBoxBySegmentList();
1471
- segments: PenStrokeSegment[];
1472
- color: Color;
1473
- getPath(): Vector[];
1470
+ updateCollisionBoxBySegmentList(): Promise<void>;
1471
+ segments: Promise<PenStrokeSegment>[];
1472
+ color: Promise<Color>;
1473
+ getPath(): Promise<Vector>[];
1474
1474
  constructor(project: Project, { uuid = crypto.randomUUID() as string, segments = [] as PenStrokeSegment[], color = Color.White });
1475
- getCollisionBoxFromSegmentList(segmentList: PenStrokeSegment[]): CollisionBox;
1475
+ getCollisionBoxFromSegmentList(segmentList: PenStrokeSegment[]): Promise<CollisionBox>;
1476
1476
  }
1477
1477
 
1478
1478
  declare class PenStrokeSegment {
1479
- location: Vector;
1480
- pressure: number;
1479
+ location: Promise<Vector>;
1480
+ pressure: Promise<number>;
1481
1481
  constructor(location: Vector, pressure: number);
1482
1482
  }
1483
1483
 
1484
1484
  declare class PlainTextExporter {
1485
1485
  constructor(project: Project);
1486
- export(nodes: Entity[]): string;
1486
+ export(nodes: Entity[]): Promise<string>;
1487
1487
  }
1488
1488
 
1489
1489
  declare interface PrgMetadata {
1490
- version: string;
1491
- extension?: ExtensionMetadata;
1490
+ version: Promise<string>;
1491
+ extension?: Promise<ExtensionMetadata>;
1492
1492
  }
1493
1493
 
1494
1494
  declare class Project extends Tab {
1495
1495
  latestVersion;
1496
- _uri: URI;
1497
- _projectState: ProjectState;
1496
+ _uri: Promise<URI>;
1497
+ _projectState: Promise<ProjectState>;
1498
1498
  _isSaving;
1499
- stage: StageObject[];
1500
- tags: string[];
1499
+ stage: Promise<StageObject>[];
1500
+ tags: Promise<string>[];
1501
1501
  attachments;
1502
1502
  encoder;
1503
1503
  decoder;
1504
1504
  constructor(uri: URI);
1505
- newDraft(): Project;
1506
- compareVersion(version1: string, version2: string): number;
1505
+ newDraft(): Promise<Project>;
1506
+ compareVersion(version1: string, version2: string): Promise<number>;
1507
1507
  checkAndConfirmUpgrade(currentVersion: string, latestVersion: string): Promise<boolean>;
1508
1508
  parseProjectFile(): Promise<{
1509
1509
  serializedStageObjects: any[];
@@ -1512,108 +1512,108 @@ declare class Project extends Tab {
1512
1512
  metadata: PrgMetadata;
1513
1513
  readme?: string;
1514
1514
  }>;
1515
- init();
1516
- get isDraft(): any;
1517
- get title(): string;
1518
- get icon(): any;
1519
- get uri(): any;
1515
+ init(): Promise<void>;
1516
+ get isDraft(): Promise<any>;
1517
+ get title(): Promise<string>;
1518
+ get icon(): Promise<any>;
1519
+ get uri(): Promise<any>;
1520
1520
  set uri(uri: URI);
1521
- stash();
1522
- save();
1523
- references: { sections: Record<string, string[]>; files: string[] };
1524
- metadata: PrgMetadata;
1525
- readme?: string;
1526
- getFileContent();
1527
- get stageHash(): any;
1528
- addAttachment(data: Blob);
1521
+ stash(): Promise<void>;
1522
+ save(): Promise<void>;
1523
+ references: Promise<{ sections: Record<string, string[]>; files: string[] }>;
1524
+ metadata: Promise<PrgMetadata>;
1525
+ readme?: Promise<string>;
1526
+ getFileContent(): Promise<void>;
1527
+ get stageHash(): Promise<any>;
1528
+ addAttachment(data: Blob): Promise<void>;
1529
1529
  set projectState(state: ProjectState);
1530
- get projectState(): ProjectState;
1530
+ get projectState(): Promise<ProjectState>;
1531
1531
  set isSaving(isSaving: boolean);
1532
- get isSaving(): boolean;
1532
+ get isSaving(): Promise<boolean>;
1533
1533
  containerRef;
1534
- loadService(service: { id?: string; new (...args: any[]): any });
1534
+ loadService(service: { id?: string; new (...args: any[]): any }): Promise<void>;
1535
1535
  componentDidMount(): void;
1536
- currentComponent: React.ComponentType | null;
1537
- getComponent(): React.ComponentType;
1538
- render(): React.ReactNode;
1539
- canvas: Canvas;
1540
- inputElement: InputElement;
1541
- controllerUtils: ControllerUtils;
1542
- autoComputeUtils: AutoComputeUtils;
1543
- renderUtils: RenderUtils;
1544
- worldRenderUtils: WorldRenderUtils;
1545
- historyManager: HistoryManager;
1546
- stageManager: StageManager;
1547
- camera: Camera;
1548
- effects: Effects;
1549
- autoCompute: AutoCompute;
1550
- rectangleSelect: RectangleSelect;
1551
- stageNodeRotate: StageNodeRotate;
1552
- complexityDetector: ComplexityDetector;
1553
- aiEngine: AIEngine;
1554
- copyEngine: CopyEngine;
1555
- autoLayout: AutoLayout;
1556
- autoLayoutFastTree: AutoLayoutFastTree;
1557
- layoutManager: LayoutManager;
1558
- autoAlign: AutoAlign;
1559
- mouseInteraction: MouseInteraction;
1560
- contentSearch: ContentSearch;
1561
- deleteManager: DeleteManager;
1562
- nodeAdder: NodeAdder;
1563
- entityMoveManager: EntityMoveManager;
1564
- stageUtils: StageUtils;
1565
- multiTargetEdgeMove: MultiTargetEdgeMove;
1566
- nodeConnector: NodeConnector;
1567
- stageObjectColorManager: StageObjectColorManager;
1568
- stageObjectSelectCounter: StageObjectSelectCounter;
1569
- sectionInOutManager: SectionInOutManager;
1570
- sectionPackManager: SectionPackManager;
1571
- sectionCollisionSolver: SectionCollisionSolver;
1572
- tagManager: TagManager;
1573
- syncAssociationManager: StageSyncAssociationManager;
1574
- keyboardOnlyEngine: KeyboardOnlyEngine;
1575
- keyboardOnlyGraphEngine: KeyboardOnlyGraphEngine;
1576
- keyboardOnlyTreeEngine: KeyboardOnlyTreeEngine;
1577
- selectChangeEngine: SelectChangeEngine;
1578
- textRenderer: TextRenderer;
1579
- imageRenderer: ImageRenderer;
1580
- referenceBlockRenderer: ReferenceBlockRenderer;
1581
- shapeRenderer: ShapeRenderer;
1582
- entityRenderer: EntityRenderer;
1583
- edgeRenderer: EdgeRenderer;
1584
- multiTargetUndirectedEdgeRenderer: MultiTargetUndirectedEdgeRenderer;
1585
- curveRenderer: CurveRenderer;
1586
- svgRenderer: SvgRenderer;
1587
- drawingControllerRenderer: DrawingControllerRenderer;
1588
- collisionBoxRenderer: CollisionBoxRenderer;
1589
- entityDetailsButtonRenderer: EntityDetailsButtonRenderer;
1590
- straightEdgeRenderer: StraightEdgeRenderer;
1591
- symmetryCurveEdgeRenderer: SymmetryCurveEdgeRenderer;
1592
- verticalPolyEdgeRenderer: VerticalPolyEdgeRenderer;
1593
- sectionRenderer: SectionRenderer;
1594
- svgNodeRenderer: SvgNodeRenderer;
1595
- latexNodeRenderer: LatexNodeRenderer;
1596
- textNodeRenderer: TextNodeRenderer;
1597
- urlNodeRenderer: UrlNodeRenderer;
1598
- backgroundRenderer: BackgroundRenderer;
1599
- searchContentHighlightRenderer: SearchContentHighlightRenderer;
1600
- renderer: Renderer;
1601
- controller: Controller;
1602
- stageExport: StageExport;
1603
- stageExportPng: StageExportPng;
1604
- stageExportSvg: StageExportSvg;
1605
- stageImport: StageImport;
1606
- generateFromFolder: GenerateFromFolder;
1607
- keyBindHintEngine: KeyBindHintEngine;
1608
- sectionMethods: SectionMethods;
1609
- graphMethods: GraphMethods;
1610
- stageStyleManager: StageStyleManager;
1611
- autoSaveBackup: AutoSaveBackupService;
1612
- referenceManager: ReferenceManager;
1536
+ currentComponent: Promise<React.ComponentType | null>;
1537
+ getComponent(): Promise<React.ComponentType>;
1538
+ render(): Promise<React.ReactNode>;
1539
+ canvas: Promise<Canvas>;
1540
+ inputElement: Promise<InputElement>;
1541
+ controllerUtils: Promise<ControllerUtils>;
1542
+ autoComputeUtils: Promise<AutoComputeUtils>;
1543
+ renderUtils: Promise<RenderUtils>;
1544
+ worldRenderUtils: Promise<WorldRenderUtils>;
1545
+ historyManager: Promise<HistoryManager>;
1546
+ stageManager: Promise<StageManager>;
1547
+ camera: Promise<Camera>;
1548
+ effects: Promise<Effects>;
1549
+ autoCompute: Promise<AutoCompute>;
1550
+ rectangleSelect: Promise<RectangleSelect>;
1551
+ stageNodeRotate: Promise<StageNodeRotate>;
1552
+ complexityDetector: Promise<ComplexityDetector>;
1553
+ aiEngine: Promise<AIEngine>;
1554
+ copyEngine: Promise<CopyEngine>;
1555
+ autoLayout: Promise<AutoLayout>;
1556
+ autoLayoutFastTree: Promise<AutoLayoutFastTree>;
1557
+ layoutManager: Promise<LayoutManager>;
1558
+ autoAlign: Promise<AutoAlign>;
1559
+ mouseInteraction: Promise<MouseInteraction>;
1560
+ contentSearch: Promise<ContentSearch>;
1561
+ deleteManager: Promise<DeleteManager>;
1562
+ nodeAdder: Promise<NodeAdder>;
1563
+ entityMoveManager: Promise<EntityMoveManager>;
1564
+ stageUtils: Promise<StageUtils>;
1565
+ multiTargetEdgeMove: Promise<MultiTargetEdgeMove>;
1566
+ nodeConnector: Promise<NodeConnector>;
1567
+ stageObjectColorManager: Promise<StageObjectColorManager>;
1568
+ stageObjectSelectCounter: Promise<StageObjectSelectCounter>;
1569
+ sectionInOutManager: Promise<SectionInOutManager>;
1570
+ sectionPackManager: Promise<SectionPackManager>;
1571
+ sectionCollisionSolver: Promise<SectionCollisionSolver>;
1572
+ tagManager: Promise<TagManager>;
1573
+ syncAssociationManager: Promise<StageSyncAssociationManager>;
1574
+ keyboardOnlyEngine: Promise<KeyboardOnlyEngine>;
1575
+ keyboardOnlyGraphEngine: Promise<KeyboardOnlyGraphEngine>;
1576
+ keyboardOnlyTreeEngine: Promise<KeyboardOnlyTreeEngine>;
1577
+ selectChangeEngine: Promise<SelectChangeEngine>;
1578
+ textRenderer: Promise<TextRenderer>;
1579
+ imageRenderer: Promise<ImageRenderer>;
1580
+ referenceBlockRenderer: Promise<ReferenceBlockRenderer>;
1581
+ shapeRenderer: Promise<ShapeRenderer>;
1582
+ entityRenderer: Promise<EntityRenderer>;
1583
+ edgeRenderer: Promise<EdgeRenderer>;
1584
+ multiTargetUndirectedEdgeRenderer: Promise<MultiTargetUndirectedEdgeRenderer>;
1585
+ curveRenderer: Promise<CurveRenderer>;
1586
+ svgRenderer: Promise<SvgRenderer>;
1587
+ drawingControllerRenderer: Promise<DrawingControllerRenderer>;
1588
+ collisionBoxRenderer: Promise<CollisionBoxRenderer>;
1589
+ entityDetailsButtonRenderer: Promise<EntityDetailsButtonRenderer>;
1590
+ straightEdgeRenderer: Promise<StraightEdgeRenderer>;
1591
+ symmetryCurveEdgeRenderer: Promise<SymmetryCurveEdgeRenderer>;
1592
+ verticalPolyEdgeRenderer: Promise<VerticalPolyEdgeRenderer>;
1593
+ sectionRenderer: Promise<SectionRenderer>;
1594
+ svgNodeRenderer: Promise<SvgNodeRenderer>;
1595
+ latexNodeRenderer: Promise<LatexNodeRenderer>;
1596
+ textNodeRenderer: Promise<TextNodeRenderer>;
1597
+ urlNodeRenderer: Promise<UrlNodeRenderer>;
1598
+ backgroundRenderer: Promise<BackgroundRenderer>;
1599
+ searchContentHighlightRenderer: Promise<SearchContentHighlightRenderer>;
1600
+ renderer: Promise<Renderer>;
1601
+ controller: Promise<Controller>;
1602
+ stageExport: Promise<StageExport>;
1603
+ stageExportPng: Promise<StageExportPng>;
1604
+ stageExportSvg: Promise<StageExportSvg>;
1605
+ stageImport: Promise<StageImport>;
1606
+ generateFromFolder: Promise<GenerateFromFolder>;
1607
+ keyBindHintEngine: Promise<KeyBindHintEngine>;
1608
+ sectionMethods: Promise<SectionMethods>;
1609
+ graphMethods: Promise<GraphMethods>;
1610
+ stageStyleManager: Promise<StageStyleManager>;
1611
+ autoSaveBackup: Promise<AutoSaveBackupService>;
1612
+ referenceManager: Promise<ReferenceManager>;
1613
1613
  }
1614
1614
 
1615
1615
  declare namespace RecentFileManager {
1616
- const store: Store;
1616
+ const store: Promise<Store>;
1617
1617
  declare type RecentFile = {
1618
1618
  uri: URI;
1619
1619
  /**
@@ -1621,49 +1621,49 @@ declare type RecentFile = {
1621
1621
  */
1622
1622
  time: number;
1623
1623
  };
1624
- function init();
1625
- function addRecentFile(file: RecentFile);
1626
- function addRecentFileByUri(uri: URI);
1627
- function addRecentFilesByUris(uris: URI[]);
1628
- function removeRecentFileByUri(uri: URI);
1629
- function clearAllRecentFiles();
1624
+ function init(): Promise<void>;
1625
+ function addRecentFile(file: RecentFile): Promise<void>;
1626
+ function addRecentFileByUri(uri: URI): Promise<void>;
1627
+ function addRecentFilesByUris(uris: URI[]): Promise<void>;
1628
+ function removeRecentFileByUri(uri: URI): Promise<void>;
1629
+ function clearAllRecentFiles(): Promise<void>;
1630
1630
  function getRecentFiles(): Promise<RecentFile[]>;
1631
- function validAndRefreshRecentFiles();
1632
- function sortTimeRecentFiles();
1633
- function clearRecentFiles();
1631
+ function validAndRefreshRecentFiles(): Promise<void>;
1632
+ function sortTimeRecentFiles(): Promise<void>;
1633
+ function clearRecentFiles(): Promise<void>;
1634
1634
  }
1635
1635
 
1636
1636
  declare class RectangleSelect {
1637
1637
  constructor(project: Project);
1638
1638
  selectStartLocation;
1639
1639
  selectEndLocation;
1640
- getSelectStartLocation(): Vector;
1641
- getSelectEndLocation(): Vector;
1642
- selectingRectangle: Rectangle | null;
1643
- limitSection: Section | null;
1640
+ getSelectStartLocation(): Promise<Vector>;
1641
+ getSelectEndLocation(): Promise<Vector>;
1642
+ selectingRectangle: Promise<Rectangle | null>;
1643
+ limitSection: Promise<Section | null>;
1644
1644
  isSelectDirectionRight;
1645
- getRectangle(): Rectangle | null;
1646
- shutDown();
1647
- startSelecting(worldLocation: Vector);
1648
- moveSelecting(newEndLocation: Vector);
1649
- endSelecting();
1650
- updateStageObjectByMove();
1651
- isSelectWithEntity(entity: StageObject);
1652
- getSelectMode(): "contain" | "intersect";
1653
- getSelectMoveDistance(): number;
1645
+ getRectangle(): Promise<Rectangle | null>;
1646
+ shutDown(): Promise<void>;
1647
+ startSelecting(worldLocation: Vector): Promise<void>;
1648
+ moveSelecting(newEndLocation: Vector): Promise<void>;
1649
+ endSelecting(): Promise<void>;
1650
+ updateStageObjectByMove(): Promise<void>;
1651
+ isSelectWithEntity(entity: StageObject): Promise<void>;
1652
+ getSelectMode(): Promise<"contain" | "intersect">;
1653
+ getSelectMoveDistance(): Promise<number>;
1654
1654
  }
1655
1655
 
1656
1656
  declare class ReferenceBlockNode extends ConnectableEntity implements ResizeAble {
1657
- isHiddenBySectionCollapse: boolean;
1658
- uuid: string;
1659
- collisionBox: CollisionBox;
1660
- fileName: string;
1661
- sectionName: string;
1662
- scale: number;
1663
- attachmentId: string;
1664
- _isSelected: boolean;
1665
- bitmap: ImageBitmap | undefined;
1666
- state: "loading" | "success" | "notFound";
1657
+ isHiddenBySectionCollapse: Promise<boolean>;
1658
+ uuid: Promise<string>;
1659
+ collisionBox: Promise<CollisionBox>;
1660
+ fileName: Promise<string>;
1661
+ sectionName: Promise<string>;
1662
+ scale: Promise<number>;
1663
+ attachmentId: Promise<string>;
1664
+ _isSelected: Promise<boolean>;
1665
+ bitmap: Promise<ImageBitmap | undefined>;
1666
+ state: Promise<"loading" | "success" | "notFound">;
1667
1667
  constructor(project: Project, {
1668
1668
  uuid = crypto.randomUUID() as string,
1669
1669
  collisionBox = new CollisionBox([new Rectangle(Vector.getZero(), new Vector(400, 200))]),
@@ -1673,41 +1673,41 @@ declare class ReferenceBlockNode extends ConnectableEntity implements ResizeAble
1673
1673
  attachmentId = "",
1674
1674
  details = [],
1675
1675
  }, unknown = false);
1676
- get isSelected(): any;
1676
+ get isSelected(): Promise<any>;
1677
1677
  set isSelected(value: boolean);
1678
- loadImageFromAttachment();
1679
- generateScreenshot();
1680
- updateCollisionBox();
1681
- scaleUpdate(scaleDiff: number);
1682
- get rectangle(): Rectangle;
1683
- get geometryCenter(): any;
1678
+ loadImageFromAttachment(): Promise<void>;
1679
+ generateScreenshot(): Promise<void>;
1680
+ updateCollisionBox(): Promise<void>;
1681
+ scaleUpdate(scaleDiff: number): Promise<void>;
1682
+ get rectangle(): Promise<Rectangle>;
1683
+ get geometryCenter(): Promise<any>;
1684
1684
  move(delta: Vector): void;
1685
1685
  moveTo(location: Vector): void;
1686
- refresh();
1687
- goToSource();
1688
- focusSectionInProject(project: Project);
1689
- resizeHandle(delta: Vector);
1690
- getResizeHandleRect(): Rectangle;
1686
+ refresh(): Promise<void>;
1687
+ goToSource(): Promise<void>;
1688
+ focusSectionInProject(project: Project): Promise<void>;
1689
+ resizeHandle(delta: Vector): Promise<void>;
1690
+ getResizeHandleRect(): Promise<Rectangle>;
1691
1691
  }
1692
1692
 
1693
1693
  declare class ReferenceBlockRenderer {
1694
1694
  constructor(project: Project);
1695
- render(referenceBlockNode: ReferenceBlockNode);
1696
- renderBrackets(rect: Rectangle, color: Color);
1697
- renderSourceSectionBorder(section: Section, countNumber: number, color: Color = new Color(118, 78, 209));
1695
+ render(referenceBlockNode: ReferenceBlockNode): Promise<void>;
1696
+ renderBrackets(rect: Rectangle, color: Color): Promise<void>;
1697
+ renderSourceSectionBorder(section: Section, countNumber: number, color: Color = new Color(118, 78, 209)): Promise<void>;
1698
1698
  }
1699
1699
 
1700
1700
  declare class ReferenceManager {
1701
1701
  constructor(project: Project);
1702
- referenceBlockTextParser(text: string): parserResult;
1703
- onClickReferenceNumber(clickLocation: Vector);
1704
- buildSectionName2SectionMap(sectionNames: string[]): Record<string, Section>;
1705
- updateOneSectionReferenceInfo(recentFiles: RecentFileManager.RecentFile[], sectionName: string);
1706
- updateCurrentProjectReference();
1707
- checkReferenceBlockInProject(project: Project, fileName: string, sectionName: string);
1708
- insertRefDataToSourcePrgFile(fileName: string, sectionName: string);
1709
- jumpToReferenceLocation(fileName: string, referenceBlockNodeSectionName: string);
1710
- openSectionReferencePanel(section: Section);
1702
+ referenceBlockTextParser(text: string): Promise<parserResult>;
1703
+ onClickReferenceNumber(clickLocation: Vector): Promise<void>;
1704
+ buildSectionName2SectionMap(sectionNames: string[]): Promise<Record<string, Section>>;
1705
+ updateOneSectionReferenceInfo(recentFiles: RecentFileManager.RecentFile[], sectionName: string): Promise<void>;
1706
+ updateCurrentProjectReference(): Promise<void>;
1707
+ checkReferenceBlockInProject(project: Project, fileName: string, sectionName: string): Promise<void>;
1708
+ insertRefDataToSourcePrgFile(fileName: string, sectionName: string): Promise<void>;
1709
+ jumpToReferenceLocation(fileName: string, referenceBlockNodeSectionName: string): Promise<void>;
1710
+ openSectionReferencePanel(section: Section): Promise<void>;
1711
1711
  }
1712
1712
 
1713
1713
  declare class Renderer {
@@ -1716,80 +1716,80 @@ declare class Renderer {
1716
1716
  NODE_ROUNDED_RADIUS;
1717
1717
  w;
1718
1718
  h;
1719
- renderedEdges: number;
1720
- timings: { [key: string]: number };
1719
+ renderedEdges: Promise<number>;
1720
+ timings: Promise<{ [key: string]: number }>;
1721
1721
  deltaTime;
1722
1722
  lastTime;
1723
1723
  frameCount;
1724
1724
  frameIndex;
1725
1725
  fps;
1726
- resizeWindow(newW: number, newH: number);
1727
- constructor(project: Project);
1728
- tick();
1729
- tick_();
1730
- renderViewElements(_viewRectangle: Rectangle);
1731
- renderZoomLevelStage();
1732
- renderMainStageElements(viewRectangle: Rectangle);
1733
- renderStageElementsWithoutReactions(viewRectangle: Rectangle);
1734
- isOverView(viewRectangle: Rectangle, entity: StageObject): boolean;
1735
- renderCenterPointer();
1736
- renderHoverCollisionBox();
1737
- renderSelectingRectangle();
1738
- renderCuttingLine();
1739
- renderConnectingLine();
1740
- renderCrosshairOnHoverImage();
1741
- renderKeyboardOnly();
1742
- rendererLayerMovingLine();
1743
- renderJumpLine(startLocation: Vector, endLocation: Vector);
1744
- renderWarningStageObjects();
1745
- renderTags();
1746
- renderEntities(viewRectangle: Rectangle);
1747
- renderEdges(viewRectangle: Rectangle);
1748
- renderBackground();
1749
- updateFPS();
1750
- renderDebugDetails();
1751
- renderSpecialKeys();
1752
- transformWorld2View(location: Vector): Vector;
1753
- transformWorld2View(rectangle: Rectangle): Rectangle;
1754
- transformWorld2View(arg1: Vector | Rectangle): Vector | Rectangle;
1755
- transformView2World(location: Vector): Vector;
1756
- transformView2World(rectangle: Rectangle): Rectangle;
1757
- transformView2World(arg1: Vector | Rectangle): Vector | Rectangle;
1758
- getCoverWorldRectangle(): Rectangle;
1726
+ resizeWindow(newW: number, newH: number): Promise<void>;
1727
+ constructor(project: Project);
1728
+ tick(): Promise<void>;
1729
+ tick_(): Promise<void>;
1730
+ renderViewElements(_viewRectangle: Rectangle): Promise<void>;
1731
+ renderZoomLevelStage(): Promise<void>;
1732
+ renderMainStageElements(viewRectangle: Rectangle): Promise<void>;
1733
+ renderStageElementsWithoutReactions(viewRectangle: Rectangle): Promise<void>;
1734
+ isOverView(viewRectangle: Rectangle, entity: StageObject): Promise<boolean>;
1735
+ renderCenterPointer(): Promise<void>;
1736
+ renderHoverCollisionBox(): Promise<void>;
1737
+ renderSelectingRectangle(): Promise<void>;
1738
+ renderCuttingLine(): Promise<void>;
1739
+ renderConnectingLine(): Promise<void>;
1740
+ renderCrosshairOnHoverImage(): Promise<void>;
1741
+ renderKeyboardOnly(): Promise<void>;
1742
+ rendererLayerMovingLine(): Promise<void>;
1743
+ renderJumpLine(startLocation: Vector, endLocation: Vector): Promise<void>;
1744
+ renderWarningStageObjects(): Promise<void>;
1745
+ renderTags(): Promise<void>;
1746
+ renderEntities(viewRectangle: Rectangle): Promise<void>;
1747
+ renderEdges(viewRectangle: Rectangle): Promise<void>;
1748
+ renderBackground(): Promise<void>;
1749
+ updateFPS(): Promise<void>;
1750
+ renderDebugDetails(): Promise<void>;
1751
+ renderSpecialKeys(): Promise<void>;
1752
+ transformWorld2View(location: Vector): Promise<Vector>;
1753
+ transformWorld2View(rectangle: Rectangle): Promise<Rectangle>;
1754
+ transformWorld2View(arg1: Vector | Rectangle): Promise<Vector | Rectangle>;
1755
+ transformView2World(location: Vector): Promise<Vector>;
1756
+ transformView2World(rectangle: Rectangle): Promise<Rectangle>;
1757
+ transformView2World(arg1: Vector | Rectangle): Promise<Vector | Rectangle>;
1758
+ getCoverWorldRectangle(): Promise<Rectangle>;
1759
1759
  }
1760
1760
 
1761
1761
  declare class RenderUtils {
1762
1762
  constructor(project: Project);
1763
- renderPixel(location: Vector, color: Color);
1764
- renderArrow(direction: Vector, location: Vector, color: Color, size: number);
1763
+ renderPixel(location: Vector, color: Color): Promise<void>;
1764
+ renderArrow(direction: Vector, location: Vector, color: Color, size: number): Promise<void>;
1765
1765
  }
1766
1766
 
1767
1767
  declare interface ResizeAble {
1768
1768
  resizeHandle(delta: Vector): void;
1769
- getResizeHandleRect(): Rectangle;
1769
+ getResizeHandleRect(): Promise<Rectangle>;
1770
1770
  }
1771
1771
 
1772
1772
  declare class SearchContentHighlightRenderer {
1773
1773
  constructor(project: Project);
1774
- render(frameTickIndex: number);
1774
+ render(frameTickIndex: number): Promise<void>;
1775
1775
  }
1776
1776
 
1777
1777
  declare class Section extends ConnectableEntity {
1778
- _isSelected: boolean;
1779
- uuid: string;
1780
- _isEditingTitle: boolean;
1781
- _collisionBoxWhenCollapsed: CollisionBox;
1782
- _collisionBoxNormal: CollisionBox;
1783
- get isEditingTitle(): any;
1778
+ _isSelected: Promise<boolean>;
1779
+ uuid: Promise<string>;
1780
+ _isEditingTitle: Promise<boolean>;
1781
+ _collisionBoxWhenCollapsed: Promise<CollisionBox>;
1782
+ _collisionBoxNormal: Promise<CollisionBox>;
1783
+ get isEditingTitle(): Promise<any>;
1784
1784
  set isEditingTitle(value: boolean);
1785
1785
  bigTitleCameraScale;
1786
- get collisionBox(): CollisionBox;
1787
- collapsedCollisionBox(): CollisionBox;
1788
- color: Color;
1789
- text: string;
1790
- children: Entity[];
1791
- isCollapsed: boolean;
1792
- locked: boolean;
1786
+ get collisionBox(): Promise<CollisionBox>;
1787
+ collapsedCollisionBox(): Promise<CollisionBox>;
1788
+ color: Promise<Color>;
1789
+ text: Promise<string>;
1790
+ children: Promise<Entity>[];
1791
+ isCollapsed: Promise<boolean>;
1792
+ locked: Promise<boolean>;
1793
1793
  isHiddenBySectionCollapse;
1794
1794
  constructor(project: Project, {
1795
1795
  uuid = crypto.randomUUID() as string,
@@ -1802,14 +1802,14 @@ declare class Section extends ConnectableEntity {
1802
1802
  children = [] as Entity[],
1803
1803
  details = [] as Value,
1804
1804
  } = {}, unknown = false);
1805
- fromEntities(project: Project, entities: Entity[]): Section;
1806
- rename(newName: string);
1807
- adjustLocationAndSize();
1808
- adjustChildrenStateByCollapse(parentCollapsed = false);
1809
- get isSelected(): any;
1805
+ fromEntities(project: Project, entities: Entity[]): Promise<Section>;
1806
+ rename(newName: string): Promise<void>;
1807
+ adjustLocationAndSize(): Promise<void>;
1808
+ adjustChildrenStateByCollapse(parentCollapsed = false): Promise<void>;
1809
+ get isSelected(): Promise<any>;
1810
1810
  set isSelected(value: boolean);
1811
- get rectangle(): Rectangle;
1812
- get geometryCenter(): any;
1811
+ get rectangle(): Promise<Rectangle>;
1812
+ get geometryCenter(): Promise<any>;
1813
1813
  move(delta: Vector): void;
1814
1814
  collideWithOtherEntity(other: Entity): void;
1815
1815
  moveTo(location: Vector): void;
@@ -1819,90 +1819,90 @@ declare class SectionCollisionSolver {
1819
1819
  constructor(project: Project);
1820
1820
  solveOverlaps(grownSection: Section, visited: Set<string> = new Set()): void;
1821
1821
  updateAncestorsAfterShift(entity: Entity, visited: Set<string>): void;
1822
- getSiblingsSections(section: Section): Section[];
1823
- computePushDelta(grownRect: Rectangle, siblingRect: Rectangle): Vector;
1822
+ getSiblingsSections(section: Section): Promise<Section>[];
1823
+ computePushDelta(grownRect: Rectangle, siblingRect: Rectangle): Promise<Vector>;
1824
1824
  rawShiftEntityTree(entity: Entity, delta: Vector): void;
1825
1825
  }
1826
1826
 
1827
1827
  declare class SectionInOutManager {
1828
1828
  constructor(project: Project);
1829
- goInSection(entities: Entity[], section: Section);
1830
- goInSections(entities: Entity[], sections: Section[]);
1831
- goOutSection(entities: Entity[], section: Section);
1832
- entityDropParent(entity: Entity);
1833
- sectionDropChild(section: Section, entity: Entity);
1834
- convertSectionToTextNode(section: Section);
1829
+ goInSection(entities: Entity[], section: Section): Promise<void>;
1830
+ goInSections(entities: Entity[], sections: Section[]): Promise<void>;
1831
+ goOutSection(entities: Entity[], section: Section): Promise<void>;
1832
+ entityDropParent(entity: Entity): Promise<void>;
1833
+ sectionDropChild(section: Section, entity: Entity): Promise<void>;
1834
+ convertSectionToTextNode(section: Section): Promise<void>;
1835
1835
  }
1836
1836
 
1837
1837
  declare class SectionMethods {
1838
1838
  constructor(project: Project);
1839
- getFatherSections(entity: Entity): Section[];
1840
- isObjectBeLockedBySection(object: StageObject): boolean;
1841
- getFatherSectionsList(entity: Entity): Section[];
1842
- getSectionsByInnerLocation(location: Vector): Section[];
1843
- deeperSections(sections: Section[]): Section[];
1844
- shallowerSection(sections: Section[]): Section[];
1845
- shallowerNotSectionEntities(entities: Entity[]): Entity[];
1846
- isEntityInSection(entity: Entity, section: Section): boolean;
1847
- isEntityInSection_fake(entity: Entity, section: Section): boolean;
1848
- _isEntityInSection(entity: Entity, section: Section, deep = 0): boolean;
1849
- isTreePack(rootNode: Section);
1850
- getSectionMaxDeep(section: Section): number;
1851
- getAllEntitiesInSelectedSectionsOrEntities(selectedEntities: Entity[]): Entity[];
1852
- getSortedSectionsByZ(sections: Section[]): Section[];
1839
+ getFatherSections(entity: Entity): Promise<Section>[];
1840
+ isObjectBeLockedBySection(object: StageObject): Promise<boolean>;
1841
+ getFatherSectionsList(entity: Entity): Promise<Section>[];
1842
+ getSectionsByInnerLocation(location: Vector): Promise<Section>[];
1843
+ deeperSections(sections: Section[]): Promise<Section>[];
1844
+ shallowerSection(sections: Section[]): Promise<Section>[];
1845
+ shallowerNotSectionEntities(entities: Entity[]): Promise<Entity>[];
1846
+ isEntityInSection(entity: Entity, section: Section): Promise<boolean>;
1847
+ isEntityInSection_fake(entity: Entity, section: Section): Promise<boolean>;
1848
+ _isEntityInSection(entity: Entity, section: Section, deep = 0): Promise<boolean>;
1849
+ isTreePack(rootNode: Section): Promise<void>;
1850
+ getSectionMaxDeep(section: Section): Promise<number>;
1851
+ getAllEntitiesInSelectedSectionsOrEntities(selectedEntities: Entity[]): Promise<Entity>[];
1852
+ getSortedSectionsByZ(sections: Section[]): Promise<Section>[];
1853
1853
  }
1854
1854
 
1855
1855
  declare class SectionPackManager {
1856
1856
  constructor(project: Project);
1857
1857
  packSection(): void;
1858
- modifyHiddenDfs(section: Section, isCollapsed: boolean);
1858
+ modifyHiddenDfs(section: Section, isCollapsed: boolean): Promise<void>;
1859
1859
  unpackSection(): void;
1860
1860
  switchCollapse(): void;
1861
1861
  textNodeToSection(): void;
1862
1862
  textNodeTreeToSection(rootNode: TextNode): void;
1863
1863
  textNodeTreeToSectionNoDeep(rootNode: TextNode): void;
1864
- targetTextNodeToSection(textNode: TextNode, ignoreEdges: boolean = false, addConnectPoints: boolean = false): Section;
1865
- unpackSelectedSections();
1866
- unpackSections(entities: Entity[]);
1867
- packEntityToSection(addEntities: Entity[]);
1864
+ targetTextNodeToSection(textNode: TextNode, ignoreEdges: boolean = false, addConnectPoints: boolean = false): Promise<Section>;
1865
+ unpackSelectedSections(): Promise<void>;
1866
+ unpackSections(entities: Entity[]): Promise<void>;
1867
+ packEntityToSection(addEntities: Entity[]): Promise<void>;
1868
1868
  createSectionFromSelectionRectangle(): void;
1869
1869
  packSelectedEntitiesToSection(): void;
1870
- getSmartSectionTitle(addEntities: Entity[]): string;
1870
+ getSmartSectionTitle(addEntities: Entity[]): Promise<string>;
1871
1871
  }
1872
1872
 
1873
1873
  declare class SectionRenderer {
1874
1874
  constructor(project: Project);
1875
- renderCollapsed(section: Section);
1876
- renderNoCollapse(section: Section);
1877
- renderBackgroundColor(section: Section);
1878
- renderBigCoveredTitle(section: Section);
1879
- renderTopTitle(section: Section);
1875
+ renderCollapsed(section: Section): Promise<void>;
1876
+ renderNoCollapse(section: Section): Promise<void>;
1877
+ renderBackgroundColor(section: Section): Promise<void>;
1878
+ renderBigCoveredTitle(section: Section): Promise<void>;
1879
+ renderTopTitle(section: Section): Promise<void>;
1880
1880
  render(section: Section): void;
1881
1881
  }
1882
1882
 
1883
1883
  declare class SelectChangeEngine {
1884
1884
  lastSelectNodeByKeyboardUUID;
1885
1885
  constructor(project: Project);
1886
- selectUp(addSelect = false);
1887
- selectDown(addSelect = false);
1888
- selectLeft(addSelect = false);
1889
- selectRight(addSelect = false);
1890
- navigateInDirection(selectedNode: ConnectableEntity, direction: Direction): ConnectableEntity | null;
1891
- getSameLevelCandidates(parentSection: Section, excludeNode: ConnectableEntity): ConnectableEntity[];
1892
- getTopLevelCandidates(excludeNode: ConnectableEntity): ConnectableEntity[];
1893
- expandSelect(isKeepExpand = false, reversed: boolean = false);
1894
- afterSelect(selectedNodeRect: ConnectableEntity, newSelectedConnectableEntity: ConnectableEntity | null, clearOldSelect = true);
1895
- getCurrentSelectedNode(): ConnectableEntity | null;
1896
- addEffect(selectedNodeRect: Rectangle, newSelectNodeRect: Rectangle);
1897
- getMostNearConnectableEntity(nodes: ConnectableEntity[], location: Vector): ConnectableEntity | null;
1898
- selectMostNearLocationNode(location: Vector): ConnectableEntity | null;
1899
- collectNodesInStrip(node: ConnectableEntity, direction: Direction, candidates: ConnectableEntity[]): ConnectableEntity[];
1900
- getMostNearInStripByDh(nodes: ConnectableEntity[], nodeRect: Rectangle, direction: Direction): ConnectableEntity | null;
1901
- collectFanNodes(node: ConnectableEntity, direction: Direction, candidates: ConnectableEntity[]): ConnectableEntity[];
1902
- collectTopNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): ConnectableEntity[];
1903
- collectBottomNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): ConnectableEntity[];
1904
- collectLeftNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): ConnectableEntity[];
1905
- collectRightNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): ConnectableEntity[];
1886
+ selectUp(addSelect = false): Promise<void>;
1887
+ selectDown(addSelect = false): Promise<void>;
1888
+ selectLeft(addSelect = false): Promise<void>;
1889
+ selectRight(addSelect = false): Promise<void>;
1890
+ navigateInDirection(selectedNode: ConnectableEntity, direction: Direction): Promise<ConnectableEntity | null>;
1891
+ getSameLevelCandidates(parentSection: Section, excludeNode: ConnectableEntity): Promise<ConnectableEntity>[];
1892
+ getTopLevelCandidates(excludeNode: ConnectableEntity): Promise<ConnectableEntity>[];
1893
+ expandSelect(isKeepExpand = false, reversed: boolean = false): Promise<void>;
1894
+ afterSelect(selectedNodeRect: ConnectableEntity, newSelectedConnectableEntity: ConnectableEntity | null, clearOldSelect = true): Promise<void>;
1895
+ getCurrentSelectedNode(): Promise<ConnectableEntity | null>;
1896
+ addEffect(selectedNodeRect: Rectangle, newSelectNodeRect: Rectangle): Promise<void>;
1897
+ getMostNearConnectableEntity(nodes: ConnectableEntity[], location: Vector): Promise<ConnectableEntity | null>;
1898
+ selectMostNearLocationNode(location: Vector): Promise<ConnectableEntity | null>;
1899
+ collectNodesInStrip(node: ConnectableEntity, direction: Direction, candidates: ConnectableEntity[]): Promise<ConnectableEntity>[];
1900
+ getMostNearInStripByDh(nodes: ConnectableEntity[], nodeRect: Rectangle, direction: Direction): Promise<ConnectableEntity | null>;
1901
+ collectFanNodes(node: ConnectableEntity, direction: Direction, candidates: ConnectableEntity[]): Promise<ConnectableEntity>[];
1902
+ collectTopNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): Promise<ConnectableEntity>[];
1903
+ collectBottomNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): Promise<ConnectableEntity>[];
1904
+ collectLeftNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): Promise<ConnectableEntity>[];
1905
+ collectRightNodes(node: ConnectableEntity, candidates?: ConnectableEntity[]): Promise<ConnectableEntity>[];
1906
1906
  }
1907
1907
 
1908
1908
  declare namespace Serialized {
@@ -2033,7 +2033,7 @@ declare type File = {
2033
2033
 
2034
2034
  declare interface Service {
2035
2035
  tick(): void;
2036
- dispose(): void | Promise<void>;
2036
+ dispose(): Promise<void | Promise<void>>;
2037
2037
  }
2038
2038
 
2039
2039
  declare type Settings = z.infer<typeof settingsSchema>;
@@ -2043,180 +2043,180 @@ declare class ShapeRenderer {
2043
2043
  renderCircle(centerLocation: Vector, radius: number, color: Color, strokeColor: Color, strokeWidth: number): void;
2044
2044
  renderArc(centerLocation: Vector, radius: number, angle1: number, angle2: number, strokeColor: Color, strokeWidth: number): void;
2045
2045
  renderRectFromCenter(centerLocation: Vector, width: number, height: number, color: Color, strokeColor: Color, strokeWidth: number, radius: number = 0): void;
2046
- renderRect(rect: Rectangle, color: Color, strokeColor: Color, strokeWidth: number, radius: number = 0);
2047
- renderDashedRect(rect: Rectangle, color: Color, strokeColor: Color, strokeWidth: number, radius: number = 0, dashLength = 5);
2048
- renderRectWithShadow(rect: Rectangle, fillColor: Color, strokeColor: Color, strokeWidth: number, shadowColor: Color, shadowBlur: number, shadowOffsetX: number = 0, shadowOffsetY: number = 0, radius: number = 0);
2046
+ renderRect(rect: Rectangle, color: Color, strokeColor: Color, strokeWidth: number, radius: number = 0): Promise<void>;
2047
+ renderDashedRect(rect: Rectangle, color: Color, strokeColor: Color, strokeWidth: number, radius: number = 0, dashLength = 5): Promise<void>;
2048
+ renderRectWithShadow(rect: Rectangle, fillColor: Color, strokeColor: Color, strokeWidth: number, shadowColor: Color, shadowBlur: number, shadowOffsetX: number = 0, shadowOffsetY: number = 0, radius: number = 0): Promise<void>;
2049
2049
  renderPolygonAndFill(points: Vector[], fillColor: Color, strokeColor: Color, strokeWidth: number, lineJoin: "round" | "bevel" = "round"): void;
2050
2050
  renderTriangleFromCenter(centerLocation: Vector, size: number, rotation: number, fillColor: Color, strokeColor: Color, strokeWidth: number): void;
2051
2051
  renderSquareFromCenter(centerLocation: Vector, size: number, rotation: number, fillColor: Color, strokeColor: Color, strokeWidth: number): void;
2052
- renderCircleTransition(viewLocation: Vector, radius: number, centerColor: Color);
2053
- renderCameraShapeBorder(rect: Rectangle, borderColor: Color, borderWidth: number);
2054
- renderResizeArrow(rect: Rectangle, color: Color, strokeWidth: number);
2052
+ renderCircleTransition(viewLocation: Vector, radius: number, centerColor: Color): Promise<void>;
2053
+ renderCameraShapeBorder(rect: Rectangle, borderColor: Color, borderWidth: number): Promise<void>;
2054
+ renderResizeArrow(rect: Rectangle, color: Color, strokeWidth: number): Promise<void>;
2055
2055
  }
2056
2056
 
2057
2057
  declare class StageExport {
2058
- plainTextExporter: PlainTextExporter;
2059
- markdownExporter: MarkdownExporter;
2060
- tabExporter: TabExporter;
2061
- mermaidExporter: MermaidExporter;
2058
+ plainTextExporter: Promise<PlainTextExporter>;
2059
+ markdownExporter: Promise<MarkdownExporter>;
2060
+ tabExporter: Promise<TabExporter>;
2061
+ mermaidExporter: Promise<MermaidExporter>;
2062
2062
  constructor(project: Project);
2063
- getPlainTextByEntities(nodes: Entity[]);
2064
- getMarkdownStringByTextNode(textNode: TextNode);
2065
- getTabStringByTextNode(textNode: TextNode);
2066
- getMermaidTextByEntities(entities: Entity[]): string;
2063
+ getPlainTextByEntities(nodes: Entity[]): Promise<void>;
2064
+ getMarkdownStringByTextNode(textNode: TextNode): Promise<void>;
2065
+ getTabStringByTextNode(textNode: TextNode): Promise<void>;
2066
+ getMermaidTextByEntities(entities: Entity[]): Promise<string>;
2067
2067
  }
2068
2068
 
2069
2069
  declare class StageExportPng {
2070
2070
  constructor(project: Project);
2071
- exportStage_(emitter: EventEmitter<EventMap>, signal: AbortSignal, sleepTime: number);
2072
- exportStage(signal: AbortSignal, sleepTime: number = 2);
2073
- generateCanvasNode(): HTMLCanvasElement;
2071
+ exportStage_(emitter: EventEmitter<EventMap>, signal: AbortSignal, sleepTime: number): Promise<void>;
2072
+ exportStage(signal: AbortSignal, sleepTime: number = 2): Promise<void>;
2073
+ generateCanvasNode(): Promise<HTMLCanvasElement>;
2074
2074
  }
2075
2075
 
2076
2076
  declare class StageExportSvg {
2077
2077
  constructor(project: Project);
2078
- svgConfig: SvgExportConfig;
2079
- exportContext: {
2078
+ svgConfig: Promise<SvgExportConfig>;
2079
+ exportContext: Promise<{
2080
2080
  outputDir: string;
2081
2081
  imageMap: Map<string, string>; // attachmentId -> relative file path
2082
- } | null;
2083
- setConfig(config: SvgExportConfig);
2084
- dumpNode(node: TextNode);
2085
- dumpSection(section: Section);
2086
- dumpSectionBase(section: Section);
2087
- dumpEdge(edge: LineEdge): React.ReactNode;
2088
- dumpEntityDetails(entity: Entity): React.ReactNode;
2089
- getEntityDetailsDataAttribute(entity: Entity): string | undefined;
2090
- dumpUrlNode(node: UrlNode);
2091
- dumpImageNode(node: ImageNode, svgConfigObject: SvgExportConfig);
2092
- getEntitiesOuterRectangle(entities: Entity[], padding: number): Rectangle;
2093
- dumpSelected(): React.ReactNode;
2094
- dumpStage(): React.ReactNode;
2095
- dumpStageToSVGString(): string;
2096
- dumpSelectedToSVGString(): string;
2082
+ } | null>;
2083
+ setConfig(config: SvgExportConfig): Promise<void>;
2084
+ dumpNode(node: TextNode): Promise<void>;
2085
+ dumpSection(section: Section): Promise<void>;
2086
+ dumpSectionBase(section: Section): Promise<void>;
2087
+ dumpEdge(edge: LineEdge): Promise<React.ReactNode>;
2088
+ dumpEntityDetails(entity: Entity): Promise<React.ReactNode>;
2089
+ getEntityDetailsDataAttribute(entity: Entity): Promise<string | undefined>;
2090
+ dumpUrlNode(node: UrlNode): Promise<void>;
2091
+ dumpImageNode(node: ImageNode, svgConfigObject: SvgExportConfig): Promise<void>;
2092
+ getEntitiesOuterRectangle(entities: Entity[], padding: number): Promise<Rectangle>;
2093
+ dumpSelected(): Promise<React.ReactNode>;
2094
+ dumpStage(): Promise<React.ReactNode>;
2095
+ dumpStageToSVGString(): Promise<string>;
2096
+ dumpSelectedToSVGString(): Promise<string>;
2097
2097
  exportStageToSVGFile(filePath: string): Promise<void>;
2098
2098
  exportSelectedToSVGFile(filePath: string): Promise<void>;
2099
2099
  }
2100
2100
 
2101
2101
  declare class StageImport {
2102
- graphImporter: GraphImporter;
2103
- treeImporter: TreeImporter;
2104
- mermaidImporter: MermaidImporter;
2105
- markdownImporter: MarkdownImporter;
2102
+ graphImporter: Promise<GraphImporter>;
2103
+ treeImporter: Promise<TreeImporter>;
2104
+ mermaidImporter: Promise<MermaidImporter>;
2105
+ markdownImporter: Promise<MarkdownImporter>;
2106
2106
  constructor(project: Project);
2107
- addNodeGraphByText(text: string, diffLocation: Vector = Vector.getZero());
2108
- addNodeTreeByText(text: string, indention: number, diffLocation: Vector = Vector.getZero());
2109
- addNodeTreeByTextFromNode(uuid: string, text: string, indention: number): { success: boolean; error?: string; nodeCount?: number };
2110
- addNodeMermaidByText(text: string, diffLocation: Vector = Vector.getZero());
2111
- addNodeByMarkdown(markdownText: string, diffLocation: Vector = Vector.getZero(), autoLayout = true);
2107
+ addNodeGraphByText(text: string, diffLocation: Vector = Vector.getZero()): Promise<void>;
2108
+ addNodeTreeByText(text: string, indention: number, diffLocation: Vector = Vector.getZero()): Promise<void>;
2109
+ addNodeTreeByTextFromNode(uuid: string, text: string, indention: number): Promise<{ success: boolean; error?: string; nodeCount?: number }>;
2110
+ addNodeMermaidByText(text: string, diffLocation: Vector = Vector.getZero()): Promise<void>;
2111
+ addNodeByMarkdown(markdownText: string, diffLocation: Vector = Vector.getZero(), autoLayout = true): Promise<void>;
2112
2112
  }
2113
2113
 
2114
2114
  declare class StageManager {
2115
2115
  constructor(project: Project);
2116
- get(uuid: string);
2117
- isEmpty(): boolean;
2118
- getTextNodes(): TextNode[];
2119
- getConnectableEntity(): ConnectableEntity[];
2120
- isEntityExists(uuid: string): boolean;
2121
- getSections(): Section[];
2122
- getImageNodes(): ImageNode[];
2123
- getConnectPoints(): ConnectPoint[];
2124
- getUrlNodes(): UrlNode[];
2125
- getPenStrokes(): PenStroke[];
2126
- getSvgNodes(): SvgNode[];
2127
- getLatexNodes(): LatexNode[];
2128
- getStageObjects(): StageObject[];
2129
- getEntities(): Entity[];
2130
- getEntitiesByUUIDs(uuids: string[]): Entity[];
2131
- isNoEntity(): boolean;
2132
- delete(stageObject: StageObject);
2133
- getAssociations(): Association[];
2134
- getEdges(): Edge[];
2135
- getLineEdges(): LineEdge[];
2136
- getCrEdges(): CubicCatmullRomSplineEdge[];
2137
- add(stageObject: StageObject);
2138
- updateReferences();
2139
- getTextNodeByUUID(uuid: string): TextNode | null;
2140
- getConnectableEntityByUUID(uuid: string): ConnectableEntity | null;
2141
- isSectionByUUID(uuid: string): boolean;
2142
- getSectionByUUID(uuid: string): Section | null;
2143
- getCenter(): Vector;
2144
- getSize(): Vector;
2145
- getBoundingRectangle(): Rectangle;
2146
- findTextNodeByLocation(location: Vector): TextNode | null;
2147
- findLineEdgeByLocation(location: Vector): LineEdge | null;
2148
- findAssociationByLocation(location: Vector): Association | null;
2149
- findSectionByLocation(location: Vector): Section | null;
2150
- findImageNodeByLocation(location: Vector): ImageNode | null;
2151
- findConnectableEntityByLocation(location: Vector): ConnectableEntity | null;
2152
- findEntityByLocation(location: Vector): Entity | null;
2153
- findConnectPointByLocation(location: Vector): ConnectPoint | null;
2154
- isHaveEntitySelected(): boolean;
2155
- getSelectedEntities(): Entity[];
2156
- getSelectedAssociations(): Association[];
2157
- getSelectedStageObjects(): StageObject[];
2158
- getBoundingBoxOfSelected(): Rectangle;
2159
- isEntityOnLocation(location: Vector): boolean;
2160
- isAssociationOnLocation(location: Vector): boolean;
2161
- deleteEntities(deleteNodes: Entity[]);
2162
- deleteSelectedStageObjects();
2163
- deleteAssociation(deleteAssociation: Association): boolean;
2164
- deleteEdge(deleteEdge: Edge): boolean;
2116
+ get(uuid: string): Promise<void>;
2117
+ isEmpty(): Promise<boolean>;
2118
+ getTextNodes(): Promise<TextNode>[];
2119
+ getConnectableEntity(): Promise<ConnectableEntity>[];
2120
+ isEntityExists(uuid: string): Promise<boolean>;
2121
+ getSections(): Promise<Section>[];
2122
+ getImageNodes(): Promise<ImageNode>[];
2123
+ getConnectPoints(): Promise<ConnectPoint>[];
2124
+ getUrlNodes(): Promise<UrlNode>[];
2125
+ getPenStrokes(): Promise<PenStroke>[];
2126
+ getSvgNodes(): Promise<SvgNode>[];
2127
+ getLatexNodes(): Promise<LatexNode>[];
2128
+ getStageObjects(): Promise<StageObject>[];
2129
+ getEntities(): Promise<Entity>[];
2130
+ getEntitiesByUUIDs(uuids: string[]): Promise<Entity>[];
2131
+ isNoEntity(): Promise<boolean>;
2132
+ delete(stageObject: StageObject): Promise<void>;
2133
+ getAssociations(): Promise<Association>[];
2134
+ getEdges(): Promise<Edge>[];
2135
+ getLineEdges(): Promise<LineEdge>[];
2136
+ getCrEdges(): Promise<CubicCatmullRomSplineEdge>[];
2137
+ add(stageObject: StageObject): Promise<void>;
2138
+ updateReferences(): Promise<void>;
2139
+ getTextNodeByUUID(uuid: string): Promise<TextNode | null>;
2140
+ getConnectableEntityByUUID(uuid: string): Promise<ConnectableEntity | null>;
2141
+ isSectionByUUID(uuid: string): Promise<boolean>;
2142
+ getSectionByUUID(uuid: string): Promise<Section | null>;
2143
+ getCenter(): Promise<Vector>;
2144
+ getSize(): Promise<Vector>;
2145
+ getBoundingRectangle(): Promise<Rectangle>;
2146
+ findTextNodeByLocation(location: Vector): Promise<TextNode | null>;
2147
+ findLineEdgeByLocation(location: Vector): Promise<LineEdge | null>;
2148
+ findAssociationByLocation(location: Vector): Promise<Association | null>;
2149
+ findSectionByLocation(location: Vector): Promise<Section | null>;
2150
+ findImageNodeByLocation(location: Vector): Promise<ImageNode | null>;
2151
+ findConnectableEntityByLocation(location: Vector): Promise<ConnectableEntity | null>;
2152
+ findEntityByLocation(location: Vector): Promise<Entity | null>;
2153
+ findConnectPointByLocation(location: Vector): Promise<ConnectPoint | null>;
2154
+ isHaveEntitySelected(): Promise<boolean>;
2155
+ getSelectedEntities(): Promise<Entity>[];
2156
+ getSelectedAssociations(): Promise<Association>[];
2157
+ getSelectedStageObjects(): Promise<StageObject>[];
2158
+ getBoundingBoxOfSelected(): Promise<Rectangle>;
2159
+ isEntityOnLocation(location: Vector): Promise<boolean>;
2160
+ isAssociationOnLocation(location: Vector): Promise<boolean>;
2161
+ deleteEntities(deleteNodes: Entity[]): Promise<void>;
2162
+ deleteSelectedStageObjects(): Promise<void>;
2163
+ deleteAssociation(deleteAssociation: Association): Promise<boolean>;
2164
+ deleteEdge(deleteEdge: Edge): Promise<boolean>;
2165
2165
  w;
2166
- connectEntity(fromNode: ConnectableEntity, toNode: ConnectableEntity, isCrEdge: boolean = false);
2167
- connectMultipleEntities(fromNodes: ConnectableEntity[], toNode: ConnectableEntity, isCrEdge: boolean = false, sourceRectRate?: [number, number], targetRectRate?: [number, number]);
2168
- reverseNodeEdges(connectEntity: ConnectableEntity);
2169
- reverseSelectedNodeEdge();
2170
- reverseSelectedEdges();
2171
- generateNodeTreeByText(text: string, indention: number = 4, location = this.project.camera.location);
2172
- generateNodeGraphByText(text: string, location = this.project.camera.location);
2173
- generateNodeMermaidByText(text: string, location = this.project.camera.location);
2174
- generateNodeByMarkdown(text: string, location = this.project.camera.location, autoLayout = true);
2175
- packEntityToSection(addEntities: Entity[]);
2176
- packEntityToSectionBySelected();
2177
- goInSection(entities: Entity[], section: Section);
2178
- goOutSection(entities: Entity[], section: Section);
2179
- packSelectedSection();
2180
- unpackSelectedSection();
2181
- sectionSwitchCollapse();
2182
- connectEntityByCrEdge(fromNode: ConnectableEntity, toNode: ConnectableEntity);
2183
- refreshAllStageObjects();
2184
- refreshSelected();
2185
- changeSelectedEdgeConnectLocation(direction: Direction | null, isSource: boolean = false);
2186
- changeEdgesConnectLocation(edges: Edge[], direction: Direction | null, isSource: boolean = false);
2187
- switchLineEdgeToCrEdge();
2188
- switchEdgeToUndirectedEdge();
2189
- switchUndirectedEdgeToEdge();
2190
- addSelectedCREdgeControlPoint();
2191
- addSelectedCREdgeTension();
2192
- reduceSelectedCREdgeTension();
2193
- setSelectedEdgeLineType(lineType: string);
2194
- selectAll();
2195
- clearSelectAll();
2166
+ connectEntity(fromNode: ConnectableEntity, toNode: ConnectableEntity, isCrEdge: boolean = false): Promise<void>;
2167
+ connectMultipleEntities(fromNodes: ConnectableEntity[], toNode: ConnectableEntity, isCrEdge: boolean = false, sourceRectRate?: [number, number], targetRectRate?: [number, number]): Promise<void>;
2168
+ reverseNodeEdges(connectEntity: ConnectableEntity): Promise<void>;
2169
+ reverseSelectedNodeEdge(): Promise<void>;
2170
+ reverseSelectedEdges(): Promise<void>;
2171
+ generateNodeTreeByText(text: string, indention: number = 4, location = this.project.camera.location): Promise<void>;
2172
+ generateNodeGraphByText(text: string, location = this.project.camera.location): Promise<void>;
2173
+ generateNodeMermaidByText(text: string, location = this.project.camera.location): Promise<void>;
2174
+ generateNodeByMarkdown(text: string, location = this.project.camera.location, autoLayout = true): Promise<void>;
2175
+ packEntityToSection(addEntities: Entity[]): Promise<void>;
2176
+ packEntityToSectionBySelected(): Promise<void>;
2177
+ goInSection(entities: Entity[], section: Section): Promise<void>;
2178
+ goOutSection(entities: Entity[], section: Section): Promise<void>;
2179
+ packSelectedSection(): Promise<void>;
2180
+ unpackSelectedSection(): Promise<void>;
2181
+ sectionSwitchCollapse(): Promise<void>;
2182
+ connectEntityByCrEdge(fromNode: ConnectableEntity, toNode: ConnectableEntity): Promise<void>;
2183
+ refreshAllStageObjects(): Promise<void>;
2184
+ refreshSelected(): Promise<void>;
2185
+ changeSelectedEdgeConnectLocation(direction: Direction | null, isSource: boolean = false): Promise<void>;
2186
+ changeEdgesConnectLocation(edges: Edge[], direction: Direction | null, isSource: boolean = false): Promise<void>;
2187
+ switchLineEdgeToCrEdge(): Promise<void>;
2188
+ switchEdgeToUndirectedEdge(): Promise<void>;
2189
+ switchUndirectedEdgeToEdge(): Promise<void>;
2190
+ addSelectedCREdgeControlPoint(): Promise<void>;
2191
+ addSelectedCREdgeTension(): Promise<void>;
2192
+ reduceSelectedCREdgeTension(): Promise<void>;
2193
+ setSelectedEdgeLineType(lineType: string): Promise<void>;
2194
+ selectAll(): Promise<void>;
2195
+ clearSelectAll(): Promise<void>;
2196
2196
  }
2197
2197
 
2198
2198
  declare class StageNodeRotate {
2199
2199
  constructor(project: Project);
2200
- moveEdges(lastMoveLocation: Vector, diffLocation: Vector);
2200
+ moveEdges(lastMoveLocation: Vector, diffLocation: Vector): Promise<void>;
2201
2201
  rotateNodeDfs(rotateCenterNode: ConnectableEntity, currentNode: ConnectableEntity, degrees: number, visitedUUIDs: string[]): void;
2202
2202
  }
2203
2203
 
2204
2204
  declare class StageObject {
2205
- project: Project;
2206
- uuid: string;
2207
- collisionBox: CollisionBox;
2208
- get isPhysical(): boolean;
2209
- _isSelected: boolean;
2210
- get isSelected(): boolean;
2205
+ project: Promise<Project>;
2206
+ uuid: Promise<string>;
2207
+ collisionBox: Promise<CollisionBox>;
2208
+ get isPhysical(): Promise<boolean>;
2209
+ _isSelected: Promise<boolean>;
2210
+ get isSelected(): Promise<boolean>;
2211
2211
  set isSelected(value: boolean);
2212
- _isSyncing: boolean;
2212
+ _isSyncing: Promise<boolean>;
2213
2213
  }
2214
2214
 
2215
2215
  declare class StageObjectColorManager {
2216
2216
  constructor(project: Project);
2217
- setSelectedStageObjectColor(color: Color);
2218
- darkenNodeColor();
2219
- lightenNodeColor();
2217
+ setSelectedStageObjectColor(color: Color): Promise<void>;
2218
+ darkenNodeColor(): Promise<void>;
2219
+ lightenNodeColor(): Promise<void>;
2220
2220
  }
2221
2221
 
2222
2222
  declare class StageObjectSelectCounter {
@@ -2231,7 +2231,7 @@ declare class StageObjectSelectCounter {
2231
2231
  selectedSectionCount;
2232
2232
  selectedMultiTargetUndirectedEdgeCount;
2233
2233
  lastUpdateTimestamp;
2234
- update();
2234
+ update(): Promise<void>;
2235
2235
  }
2236
2236
 
2237
2237
  declare class StageStyleManager {
@@ -2242,33 +2242,33 @@ declare class StageStyleManager {
2242
2242
  declare class StageSyncAssociationManager {
2243
2243
  constructor(project: Project);
2244
2244
  createTwinsFromSelectedEntities(): void;
2245
- getSyncAssociations(): SyncAssociation[];
2246
- getSyncAssociationsByMember(member: StageObject): SyncAssociation[];
2247
- getSyncSiblings(member: StageObject): StageObject[];
2248
- createTwinTextNode(source: TextNode): TextNode;
2245
+ getSyncAssociations(): Promise<SyncAssociation>[];
2246
+ getSyncAssociationsByMember(member: StageObject): Promise<SyncAssociation>[];
2247
+ getSyncSiblings(member: StageObject): Promise<StageObject>[];
2248
+ createTwinTextNode(source: TextNode): Promise<TextNode>;
2249
2249
  syncFrom(source: StageObject, key: SyncableKey, syncingSet: Set<string> = new Set()): void;
2250
2250
  onStageObjectDeleted(deleted: StageObject): void;
2251
2251
  }
2252
2252
 
2253
2253
  declare class StageUtils {
2254
2254
  constructor(project: Project);
2255
- replaceAutoNameWithoutStage(template: string): string;
2256
- replaceAutoNameTemplate(currentName: string, targetStageObject: StageObject): string;
2257
- isNameConflictWithTextNodes(name: string): boolean;
2258
- isNameConflictWithSections(name: string): boolean;
2255
+ replaceAutoNameWithoutStage(template: string): Promise<string>;
2256
+ replaceAutoNameTemplate(currentName: string, targetStageObject: StageObject): Promise<string>;
2257
+ isNameConflictWithTextNodes(name: string): Promise<boolean>;
2258
+ isNameConflictWithSections(name: string): Promise<boolean>;
2259
2259
  }
2260
2260
 
2261
2261
  declare class StraightEdgeRenderer extends EdgeRendererClass {
2262
2262
  constructor(project: Project);
2263
- getCuttingEffects(edge: LineEdge): Effect[];
2264
- getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Effect[];
2263
+ getCuttingEffects(edge: LineEdge): Promise<Effect>[];
2264
+ getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Promise<Effect>[];
2265
2265
  renderLine(start: Vector, end: Vector, edge: LineEdge, width: number): void;
2266
2266
  renderNormalState(edge: LineEdge): void;
2267
- getNormalStageSvg(edge: LineEdge): React.ReactNode;
2268
- getCycleStageSvg(): React.ReactNode;
2269
- getShiftingStageSvg(): React.ReactNode;
2270
- renderArrowHead(edge: LineEdge, direction: Vector, endPoint = edge.bodyLine.end.clone(), size = 15);
2271
- shouldRenderTargetArrow(edge: LineEdge): boolean;
2267
+ getNormalStageSvg(edge: LineEdge): Promise<React.ReactNode>;
2268
+ getCycleStageSvg(): Promise<React.ReactNode>;
2269
+ getShiftingStageSvg(): Promise<React.ReactNode>;
2270
+ renderArrowHead(edge: LineEdge, direction: Vector, endPoint = edge.bodyLine.end.clone(), size = 15): Promise<void>;
2271
+ shouldRenderTargetArrow(edge: LineEdge): Promise<boolean>;
2272
2272
  renderShiftingState(edge: LineEdge): void;
2273
2273
  renderCycleState(edge: LineEdge): void;
2274
2274
  renderVirtualEdge(startNode: ConnectableEntity, mouseLocation: Vector, sourceRectangleRate?: Vector): void;
@@ -2276,14 +2276,14 @@ declare class StraightEdgeRenderer extends EdgeRendererClass {
2276
2276
  }
2277
2277
 
2278
2278
  declare class SvgNode extends ConnectableEntity implements ResizeAble {
2279
- color: Color;
2280
- uuid: string;
2281
- scale: number;
2282
- collisionBox: CollisionBox;
2283
- attachmentId: string;
2284
- isHiddenBySectionCollapse: boolean;
2285
- originalSize: Vector;
2286
- image: HTMLImageElement;
2279
+ color: Promise<Color>;
2280
+ uuid: Promise<string>;
2281
+ scale: Promise<number>;
2282
+ collisionBox: Promise<CollisionBox>;
2283
+ attachmentId: Promise<string>;
2284
+ isHiddenBySectionCollapse: Promise<boolean>;
2285
+ originalSize: Promise<Vector>;
2286
+ image: Promise<HTMLImageElement>;
2287
2287
  constructor(project: Project, {
2288
2288
  uuid = crypto.randomUUID(),
2289
2289
  details = [],
@@ -2292,22 +2292,22 @@ declare class SvgNode extends ConnectableEntity implements ResizeAble {
2292
2292
  scale = 1,
2293
2293
  color = Color.Transparent,
2294
2294
  });
2295
- get geometryCenter(): Vector;
2296
- scaleUpdate(scaleDiff: number);
2295
+ get geometryCenter(): Promise<Vector>;
2296
+ scaleUpdate(scaleDiff: number): Promise<void>;
2297
2297
  move(delta: Vector): void;
2298
2298
  moveTo(location: Vector): void;
2299
- changeColor(newColor: Color, mode: "fill" | "stroke" = "fill");
2300
- resizeHandle(delta: Vector);
2301
- getResizeHandleRect(): Rectangle;
2299
+ changeColor(newColor: Color, mode: "fill" | "stroke" = "fill"): Promise<void>;
2300
+ resizeHandle(delta: Vector): Promise<void>;
2301
+ getResizeHandleRect(): Promise<Rectangle>;
2302
2302
  }
2303
2303
 
2304
2304
  declare class SvgNodeRenderer {
2305
2305
  constructor(project: Project);
2306
- render(svgNode: SvgNode);
2306
+ render(svgNode: SvgNode): Promise<void>;
2307
2307
  }
2308
2308
 
2309
2309
  declare class SvgRenderer {
2310
- svgCache: { [key: string]: HTMLImageElement };
2310
+ svgCache: Promise<{ [key: string]: HTMLImageElement }>;
2311
2311
  constructor(project: Project);
2312
2312
  renderSvgFromLeftTop(svg: string, location: Vector, width: number, height: number): void;
2313
2313
  renderSvgFromCenter(svg: string, centerLocation: Vector, width: number, height: number): void;
@@ -2317,15 +2317,15 @@ declare class SvgRenderer {
2317
2317
 
2318
2318
  declare class SymmetryCurveEdgeRenderer extends EdgeRendererClass {
2319
2319
  constructor(project: Project);
2320
- shouldRenderTargetArrow(edge: LineEdge): boolean;
2321
- getCuttingEffects(edge: LineEdge): Effect[];
2322
- getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Effect[];
2320
+ shouldRenderTargetArrow(edge: LineEdge): Promise<boolean>;
2321
+ getCuttingEffects(edge: LineEdge): Promise<Effect>[];
2322
+ getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Promise<Effect>[];
2323
2323
  renderNormalState(edge: LineEdge): void;
2324
2324
  renderShiftingState(edge: LineEdge): void;
2325
2325
  renderCycleState(edge: LineEdge): void;
2326
- getNormalStageSvg(edge: LineEdge): React.ReactNode;
2327
- getCycleStageSvg(): React.ReactNode;
2328
- getShiftingStageSvg(): React.ReactNode;
2326
+ getNormalStageSvg(edge: LineEdge): Promise<React.ReactNode>;
2327
+ getCycleStageSvg(): Promise<React.ReactNode>;
2328
+ getShiftingStageSvg(): Promise<React.ReactNode>;
2329
2329
  renderVirtualEdge(startNode: ConnectableEntity, mouseLocation: Vector, sourceRectangleRate?: Vector): void;
2330
2330
  renderVirtualConfirmedEdge(startNode: ConnectableEntity, endNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): void;
2331
2331
  renderArrowCurve(curve: SymmetryCurve, color: Color, width = 2, edge?: LineEdge): void;
@@ -2335,13 +2335,13 @@ declare class SymmetryCurveEdgeRenderer extends EdgeRendererClass {
2335
2335
  declare type SyncableKey = "text" | "color" | "details";
2336
2336
 
2337
2337
  declare class SyncAssociation extends Association {
2338
- uuid: string;
2339
- keys: SyncableKey[];
2340
- associationList: StageObject[];
2341
- get collisionBox(): CollisionBox;
2342
- get isPhysical(): boolean;
2343
- _isSelected: boolean;
2344
- get isSelected(): boolean;
2338
+ uuid: Promise<string>;
2339
+ keys: Promise<SyncableKey>[];
2340
+ associationList: Promise<StageObject>[];
2341
+ get collisionBox(): Promise<CollisionBox>;
2342
+ get isPhysical(): Promise<boolean>;
2343
+ _isSelected: Promise<boolean>;
2344
+ get isSelected(): Promise<boolean>;
2345
2345
  set isSelected(value: boolean);
2346
2346
  constructor(project: Project, {
2347
2347
  uuid = crypto.randomUUID() as string,
@@ -2361,65 +2361,65 @@ declare class Tab extends React.Component<Record<string, never>, Record<string,
2361
2361
  eventEmitter;
2362
2362
  services;
2363
2363
  fileSystemProviders;
2364
- tickableServices: Service[];
2364
+ tickableServices: Promise<Service>[];
2365
2365
  rafHandle;
2366
- getComponent(): React.ComponentType;
2367
- get title(): string;
2368
- get icon(): React.ComponentType<any> | null;
2366
+ getComponent(): Promise<React.ComponentType>;
2367
+ get title(): Promise<string>;
2368
+ get icon(): Promise<React.ComponentType<any> | null>;
2369
2369
  constructor(props: Record<string, never>);
2370
- registerFileSystemProvider(scheme: string, provider: { new (...args: any[]): FileSystemProvider });
2371
- get fs(): FileSystemProvider;
2372
- on(event: string | symbol, listener: (...args: any[]) => void): this;
2373
- emit(event: string | symbol, ...args: any[]): boolean;
2374
- removeAllListeners(event?: string | symbol): this;
2375
- loadService(service: { id?: string; new (...args: any[]): any });
2376
- disposeService(serviceId: string);
2377
- getService<T extends keyof this & string>(serviceId: T): this[T];
2370
+ registerFileSystemProvider(scheme: string, provider: { new (...args: any[]): FileSystemProvider }): Promise<void>;
2371
+ get fs(): Promise<FileSystemProvider>;
2372
+ on(event: string | symbol, listener: (...args: any[]) => void): Promise<this>;
2373
+ emit(event: string | symbol, ...args: any[]): Promise<boolean>;
2374
+ removeAllListeners(event?: string | symbol): Promise<this>;
2375
+ loadService(service: { id?: string; new (...args: any[]): any }): Promise<void>;
2376
+ disposeService(serviceId: string): Promise<void>;
2377
+ getService<T extends keyof this & string>(serviceId: T): Promise<this[T]>;
2378
2378
  init(): Promise<void>;
2379
- loop();
2380
- pause();
2381
- tick();
2382
- dispose();
2383
- get isRunning(): boolean;
2384
- render(): React.ReactNode;
2379
+ loop(): Promise<void>;
2380
+ pause(): Promise<void>;
2381
+ tick(): Promise<void>;
2382
+ dispose(): Promise<void>;
2383
+ get isRunning(): Promise<boolean>;
2384
+ render(): Promise<React.ReactNode>;
2385
2385
  }
2386
2386
 
2387
2387
  declare class TabExporter extends BaseExporter {
2388
- export(textNode: TextNode): string;
2389
- getTabText(node: TextNode, level: number): string;
2388
+ export(textNode: TextNode): Promise<string>;
2389
+ getTabText(node: TextNode, level: number): Promise<string>;
2390
2390
  }
2391
2391
 
2392
2392
  declare class TagManager {
2393
2393
  constructor(project: Project);
2394
- tagSet: Set<string>;
2395
- reset(uuids: string[]);
2396
- addTag(uuid: string);
2397
- removeTag(uuid: string);
2398
- hasTag(uuid: string): boolean;
2399
- updateTags();
2400
- moveUpTag(uuid: string);
2401
- moveDownTag(uuid: string);
2402
- changeTagBySelected();
2403
- refreshTagNamesUI();
2404
- moveCameraToTag(tagUUID: string);
2394
+ tagSet: Promise<Set<string>>;
2395
+ reset(uuids: string[]): Promise<void>;
2396
+ addTag(uuid: string): Promise<void>;
2397
+ removeTag(uuid: string): Promise<void>;
2398
+ hasTag(uuid: string): Promise<boolean>;
2399
+ updateTags(): Promise<void>;
2400
+ moveUpTag(uuid: string): Promise<void>;
2401
+ moveDownTag(uuid: string): Promise<void>;
2402
+ changeTagBySelected(): Promise<void>;
2403
+ refreshTagNamesUI(): Promise<void>;
2404
+ moveCameraToTag(tagUUID: string): Promise<void>;
2405
2405
  }
2406
2406
 
2407
2407
  declare class TextNode extends ConnectableEntity implements ResizeAble {
2408
- uuid: string;
2409
- text: string;
2410
- collisionBox: CollisionBox;
2411
- color: Color;
2412
- isAiGenerating: boolean;
2413
- fontScaleLevel: number;
2408
+ uuid: Promise<string>;
2409
+ text: Promise<string>;
2410
+ collisionBox: Promise<CollisionBox>;
2411
+ color: Promise<Color>;
2412
+ isAiGenerating: Promise<boolean>;
2413
+ fontScaleLevel: Promise<number>;
2414
2414
  enableResizeCharCount;
2415
- sizeAdjust: string;
2416
- _isSelected: boolean;
2417
- get isSelected(): any;
2418
- get rectangle(): Rectangle;
2419
- get geometryCenter(): any;
2415
+ sizeAdjust: Promise<string>;
2416
+ _isSelected: Promise<boolean>;
2417
+ get isSelected(): Promise<any>;
2418
+ get rectangle(): Promise<Rectangle>;
2419
+ get geometryCenter(): Promise<any>;
2420
2420
  set isSelected(value: boolean);
2421
- _isEditing: boolean;
2422
- get isEditing(): any;
2421
+ _isEditing: Promise<boolean>;
2422
+ get isEditing(): Promise<any>;
2423
2423
  set isEditing(value: boolean);
2424
2424
  isHiddenBySectionCollapse;
2425
2425
  constructor(project: Project, {
@@ -2439,58 +2439,58 @@ declare class TextNode extends ConnectableEntity implements ResizeAble {
2439
2439
  collisionBox?: CollisionBox;
2440
2440
  fontScaleLevel?: number;
2441
2441
  }, unknown = false);
2442
- fontSizeCache: number;
2443
- getFontSize(): number;
2444
- getPadding(): number;
2445
- getBorderWidth(): number;
2446
- getBorderRadius(): number;
2442
+ fontSizeCache: Promise<number>;
2443
+ getFontSize(): Promise<number>;
2444
+ getPadding(): Promise<number>;
2445
+ getBorderWidth(): Promise<number>;
2446
+ getBorderRadius(): Promise<number>;
2447
2447
  updateFontSizeCache(): void;
2448
- setFontScaleLevel(level: number);
2448
+ setFontScaleLevel(level: number): Promise<void>;
2449
2449
  increaseFontSize(anchorRate?: Vector): void;
2450
2450
  decreaseFontSize(anchorRate?: Vector): void;
2451
2451
  _adjustLocationToKeepAnchor(oldRect: Rectangle, anchorRate: Vector): void;
2452
- adjustSizeByText();
2453
- adjustHeightByText();
2454
- forceAdjustSizeByText();
2455
- rename(text: string);
2456
- resizeHandle(delta: Vector);
2457
- resizeWidthTo(width: number);
2458
- getResizeHandleRect(): Rectangle;
2459
- move(delta: Vector);
2452
+ adjustSizeByText(): Promise<void>;
2453
+ adjustHeightByText(): Promise<void>;
2454
+ forceAdjustSizeByText(): Promise<void>;
2455
+ rename(text: string): Promise<void>;
2456
+ resizeHandle(delta: Vector): Promise<void>;
2457
+ resizeWidthTo(width: number): Promise<void>;
2458
+ getResizeHandleRect(): Promise<Rectangle>;
2459
+ move(delta: Vector): Promise<void>;
2460
2460
  collideWithOtherEntity(other: Entity): void;
2461
- moveTo(location: Vector);
2461
+ moveTo(location: Vector): Promise<void>;
2462
2462
  }
2463
2463
 
2464
2464
  declare class TextNodeRenderer {
2465
2465
  constructor(project: Project);
2466
- renderTextNode(node: TextNode);
2466
+ renderTextNode(node: TextNode): Promise<void>;
2467
2467
  renderKeyboardTreeHint(node: TextNode): void;
2468
- renderLogicNodeWarningTrap(node: TextNode);
2469
- renderTextNodeTextLayer(node: TextNode);
2468
+ renderLogicNodeWarningTrap(node: TextNode): Promise<void>;
2469
+ renderTextNodeTextLayer(node: TextNode): Promise<void>;
2470
2470
  }
2471
2471
 
2472
2472
  declare class TextRenderer {
2473
2473
  cache;
2474
2474
  constructor(project: Project);
2475
- hash(text: string, size: number): string;
2476
- getCache(text: string, size: number);
2477
- getCacheNearestSize(text: string, size: number): ImageBitmap | undefined;
2478
- buildCache(text: string, size: number, color: Color): CanvasImageSource;
2475
+ hash(text: string, size: number): Promise<string>;
2476
+ getCache(text: string, size: number): Promise<void>;
2477
+ getCacheNearestSize(text: string, size: number): Promise<ImageBitmap | undefined>;
2478
+ buildCache(text: string, size: number, color: Color): Promise<CanvasImageSource>;
2479
2479
  renderText(text: string, location: Vector, size: number, color: Color = Color.White): void;
2480
2480
  renderTempText(text: string, location: Vector, size: number, color: Color = Color.White): void;
2481
2481
  renderTextFromCenter(text: string, centerLocation: Vector, size: number, color: Color = Color.White): void;
2482
2482
  renderTempTextFromCenter(text: string, centerLocation: Vector, size: number, color: Color = Color.White): void;
2483
2483
  renderTextInRectangle(text: string, rectangle: Rectangle, color: Color): void;
2484
- getFontSizeByRectangleSize(text: string, rectangle: Rectangle): Vector;
2484
+ getFontSizeByRectangleSize(text: string, rectangle: Rectangle): Promise<Vector>;
2485
2485
  renderMultiLineText(text: string, location: Vector, fontSize: number, limitWidth: number, color: Color = Color.White, lineHeight: number = 1.2, limitLines: number = Infinity): void;
2486
2486
  renderTempMultiLineText(text: string, location: Vector, fontSize: number, limitWidth: number, color: Color = Color.White, lineHeight: number = 1.2, limitLines: number = Infinity): void;
2487
2487
  renderMultiLineTextFromCenterWithStroke(text: string, centerLocation: Vector, size: number, fillColor: Color, strokeColor: Color, limitWidth: number = Infinity, lineHeight: number = 1.2): void;
2488
2488
  renderMultiLineTextFromCenter(text: string, centerLocation: Vector, size: number, limitWidth: number, color: Color, lineHeight: number = 1.2, limitLines: number = Infinity): void;
2489
2489
  renderTempMultiLineTextFromCenter(text: string, centerLocation: Vector, size: number, limitWidth: number, color: Color, lineHeight: number = 1.2, limitLines: number = Infinity): void;
2490
- textArrayCache: LruCache<string, string[]>;
2491
- textToTextArrayWrapCache(text: string, fontSize: number, limitWidth: number): string[];
2492
- textToTextArray(text: string, fontSize: number, limitWidth: number): string[];
2493
- measureMultiLineTextSize(text: string, fontSize: number, limitWidth: number, lineHeight: number = 1.2): Vector;
2490
+ textArrayCache: Promise<LruCache<string, string[]>>;
2491
+ textToTextArrayWrapCache(text: string, fontSize: number, limitWidth: number): Promise<string>[];
2492
+ textToTextArray(text: string, fontSize: number, limitWidth: number): Promise<string>[];
2493
+ measureMultiLineTextSize(text: string, fontSize: number, limitWidth: number, lineHeight: number = 1.2): Promise<Vector>;
2494
2494
  }
2495
2495
 
2496
2496
  declare const transformedKeys;
@@ -2498,42 +2498,42 @@ declare const transformedKeys;
2498
2498
  declare class TreeImporter extends BaseImporter {
2499
2499
  constructor(project: Project);
2500
2500
  import(text: string, indention: number, diffLocation: Vector = Vector.getZero()): void;
2501
- importFromNode(uuid: string, text: string, indention: number): { success: boolean; error?: string; nodeCount?: number };
2502
- getIndentLevel(line: string, indention: number): number;
2501
+ importFromNode(uuid: string, text: string, indention: number): Promise<{ success: boolean; error?: string; nodeCount?: number }>;
2502
+ getIndentLevel(line: string, indention: number): Promise<number>;
2503
2503
  }
2504
2504
 
2505
2505
  declare interface UIKeyBind {
2506
- id: string;
2507
- key: string;
2508
- isEnabled: boolean;
2509
- onPress: (project?: Project) => void;
2510
- when: KeyBindWhen;
2511
- icon?: KeyBindIcon;
2512
- isContinuous?: boolean;
2513
- onRelease?: (project?: Project) => void;
2506
+ id: Promise<string>;
2507
+ key: Promise<string>;
2508
+ isEnabled: Promise<boolean>;
2509
+ onPress: Promise<(project?: Project) => void>;
2510
+ when: Promise<KeyBindWhen>;
2511
+ icon?: Promise<KeyBindIcon>;
2512
+ isContinuous?: Promise<boolean>;
2513
+ onRelease?: Promise<(project?: Project) => void>;
2514
2514
  }
2515
2515
 
2516
2516
  declare class UrlNode extends ConnectableEntity {
2517
- uuid: string;
2518
- title: string;
2519
- url: string;
2520
- color: Color;
2521
- collisionBox: CollisionBox;
2522
- width: number;
2523
- height: number;
2524
- titleHeight: number;
2525
- _isEditingTitle: boolean;
2526
- isMouseHoverTitle: boolean;
2527
- isMouseHoverUrl: boolean;
2528
- get isEditingTitle(): any;
2517
+ uuid: Promise<string>;
2518
+ title: Promise<string>;
2519
+ url: Promise<string>;
2520
+ color: Promise<Color>;
2521
+ collisionBox: Promise<CollisionBox>;
2522
+ width: Promise<number>;
2523
+ height: Promise<number>;
2524
+ titleHeight: Promise<number>;
2525
+ _isEditingTitle: Promise<boolean>;
2526
+ isMouseHoverTitle: Promise<boolean>;
2527
+ isMouseHoverUrl: Promise<boolean>;
2528
+ get isEditingTitle(): Promise<any>;
2529
2529
  set isEditingTitle(value: boolean);
2530
- get geometryCenter(): Vector;
2531
- get titleRectangle(): Rectangle;
2532
- get urlRectangle(): Rectangle;
2533
- get rectangle(): Rectangle;
2530
+ get geometryCenter(): Promise<Vector>;
2531
+ get titleRectangle(): Promise<Rectangle>;
2532
+ get urlRectangle(): Promise<Rectangle>;
2533
+ get rectangle(): Promise<Rectangle>;
2534
2534
  move(delta: Vector): void;
2535
2535
  moveTo(location: Vector): void;
2536
- isHiddenBySectionCollapse: boolean;
2536
+ isHiddenBySectionCollapse: Promise<boolean>;
2537
2537
  constructor(project: Project, {
2538
2538
  uuid = crypto.randomUUID() as string,
2539
2539
  title = "",
@@ -2543,7 +2543,7 @@ declare class UrlNode extends ConnectableEntity {
2543
2543
  color = Color.Transparent,
2544
2544
  });
2545
2545
  rename(title: string): void;
2546
- adjustSizeByText();
2546
+ adjustSizeByText(): Promise<void>;
2547
2547
  }
2548
2548
 
2549
2549
  declare class UrlNodeRenderer {
@@ -2554,20 +2554,20 @@ declare class UrlNodeRenderer {
2554
2554
 
2555
2555
  declare class VerticalPolyEdgeRenderer extends EdgeRendererClass {
2556
2556
  constructor(project: Project);
2557
- getCuttingEffects(edge: LineEdge): Effect[];
2558
- getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Effect[];
2559
- getVerticalDirection(edge: LineEdge): Vector;
2560
- fixedLength: number;
2561
- renderTest(edge: LineEdge);
2562
- gaussianFunction(x: number);
2557
+ getCuttingEffects(edge: LineEdge): Promise<Effect>[];
2558
+ getConnectedEffects(startNode: ConnectableEntity, toNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): Promise<Effect>[];
2559
+ getVerticalDirection(edge: LineEdge): Promise<Vector>;
2560
+ fixedLength: Promise<number>;
2561
+ renderTest(edge: LineEdge): Promise<void>;
2562
+ gaussianFunction(x: number): Promise<void>;
2563
2563
  renderNormalState(edge: LineEdge): void;
2564
2564
  renderShiftingState(edge: LineEdge): void;
2565
- shouldRenderTargetArrow(edge: LineEdge): boolean;
2566
- renderArrowHead(edge: LineEdge, direction: Vector, endPoint = edge.bodyLine.end.clone());
2565
+ shouldRenderTargetArrow(edge: LineEdge): Promise<boolean>;
2566
+ renderArrowHead(edge: LineEdge, direction: Vector, endPoint = edge.bodyLine.end.clone()): Promise<void>;
2567
2567
  renderCycleState(edge: LineEdge): void;
2568
- getNormalStageSvg(edge: LineEdge): React.ReactNode;
2569
- getCycleStageSvg(): React.ReactNode;
2570
- getShiftingStageSvg(): React.ReactNode;
2568
+ getNormalStageSvg(edge: LineEdge): Promise<React.ReactNode>;
2569
+ getCycleStageSvg(): Promise<React.ReactNode>;
2570
+ getShiftingStageSvg(): Promise<React.ReactNode>;
2571
2571
  renderVirtualEdge(startNode: ConnectableEntity, mouseLocation: Vector, sourceRectangleRate?: Vector): void;
2572
2572
  renderVirtualConfirmedEdge(startNode: ConnectableEntity, endNode: ConnectableEntity, sourceRectangleRate?: Vector, targetRectangleRate?: Vector): void;
2573
2573
  }
@@ -2581,28 +2581,13 @@ declare class WorldRenderUtils {
2581
2581
  renderDoubleSymmetryCurve(curve: SymmetryCurve, color: Color, width: number, gap: number): void;
2582
2582
  renderLaser(start: Vector, end: Vector, width: number, color: Color): void;
2583
2583
  renderPrismaticBlock(centerLocation: Vector, radius: number, color: Color, strokeColor: Color, strokeWidth: number): void;
2584
- renderRectangleFlash(rectangle: Rectangle, shadowColor: Color, shadowBlur: number, roundedRadius = 0);
2584
+ renderRectangleFlash(rectangle: Rectangle, shadowColor: Color, shadowBlur: number, roundedRadius = 0): Promise<void>;
2585
2585
  renderCuttingFlash(start: Vector, end: Vector, width: number, shadowColor: Color): void;
2586
2586
  }
2587
2587
 
2588
- // ── Asyncify: 递归包裹所有属性和方法返回值为 Promise ──
2589
- // 用于模拟 Comlink 代理的行为,所有值访问都是异步的
2590
- type Asyncify<T> =
2591
- T extends null | undefined | void | never
2592
- ? T
2593
- : T extends (...args: infer A) => infer R
2594
- ? (...args: A) => Promise<Asyncify<Awaited<R>>>
2595
- : T extends Promise<unknown>
2596
- ? T
2597
- : T extends Array<infer U>
2598
- ? Promise<Asyncify<U>>[]
2599
- : T extends object
2600
- ? { [K in keyof T]: Asyncify<T[K]> }
2601
- : Promise<T>;
2602
-
2603
2588
  // ── 扩展宿主 API ──
2604
2589
 
2605
- export declare function extensionHostApiFactory(extension: Extension): Asyncify<{
2590
+ export declare function extensionHostApiFactory(extension: Extension): {
2606
2591
  toast(message: string): Promise<void>;
2607
2592
  toast_success(message: string): Promise<void>;
2608
2593
  toast_error(message: string): Promise<void>;
@@ -2611,32 +2596,32 @@ export declare function extensionHostApiFactory(extension: Extension): Asyncify<
2611
2596
  dialog_input: typeof Dialog.input;
2612
2597
  dialog_copy: typeof Dialog.copy;
2613
2598
  dialog_buttons: typeof Dialog.buttons;
2614
- fetch: fetch;
2615
- fetch_base64(url: string): Promise<string>;
2616
- fetch_json(url: string): Promise<unknown>;
2617
- fetch_binary(url: string): Promise<{ buffer: Uint8Array; mimeType: string }>;
2618
- shell_execute(program: string, args?: string[], stdin?: string): Promise<{ code: number | null; stdout: string; stderr: string }>;
2599
+ fetch: typeof fetch;
2600
+ fetch_base64(url: string): Promise<Promise<string>>;
2601
+ fetch_json(url: string): Promise<Promise<unknown>>;
2602
+ fetch_binary(url: string): Promise<Promise<{ buffer: Uint8Array; mimeType: string }>>;
2603
+ shell_execute(program: string, args?: string[], stdin?: string): Promise<Promise<{ code: number | null; stdout: string; stderr: string }>>;
2619
2604
  settings_getOwn(key: string): Promise<any>;
2620
2605
  settings_setOwn(key: string, value: unknown): Promise<void>;
2621
2606
  settings_getGlobal(key: string): Promise<any>;
2622
2607
  settings_setGlobal(key: string, value: unknown): Promise<any>;
2623
2608
  keybinds_register(id: string, icon: KeyBindIcon, defaultKey: string, onPress: () => void, onRelease?: () => void, isContinuous?: boolean): Promise<void>;
2624
2609
  keybinds_unregisterAll(): Promise<void>;
2625
- tabs_getAll(): Promise<Tab[]>;
2626
- tabs_getAllProjects(): Promise<Project[]>;
2627
- tabs_getCurrent(): Promise<Tab | null>;
2628
- tabs_getCurrentProject(): Promise<Project | null>;
2610
+ tabs_getAll(): Promise<Promise<Tab>[]>;
2611
+ tabs_getAllProjects(): Promise<Promise<Project>[]>;
2612
+ tabs_getCurrent(): Promise<Promise<Tab | null>>;
2613
+ tabs_getCurrentProject(): Promise<Promise<Project | null>>;
2629
2614
  entity_registerType(typeName: string, initialData: any, collisionBox: CollisionBox, renderFn: (data: any) => Promise<ImageBitmap>): Promise<void>;
2630
2615
  entity_onClick(typeName: string, handler: (payload: ClickEventPayload) => void): Promise<void>;
2631
- entity_create(typeName: string, data: any, location: { x: number; y: number }): Promise<ExtensionEntity>;
2632
- }>;
2616
+ entity_create(typeName: string, data: any, location: { x: number; y: number }): Promise<Promise<ExtensionEntity>>;
2617
+ };
2633
2618
 
2634
2619
  declare global {
2635
- prg: Asyncify<ReturnType<typeof extensionHostApiFactory>>;
2620
+ const prg: ReturnType<typeof extensionHostApiFactory>;
2636
2621
  interface Window {
2637
- prg: Asyncify<ReturnType<typeof extensionHostApiFactory>>;
2622
+ prg: ReturnType<typeof extensionHostApiFactory>;
2638
2623
  }
2639
2624
  interface DedicatedWorkerGlobalScope {
2640
- prg: Asyncify<ReturnType<typeof extensionHostApiFactory>>;
2625
+ prg: ReturnType<typeof extensionHostApiFactory>;
2641
2626
  }
2642
2627
  }