@excalidraw/common 0.18.0-7b8a5f54c → 0.18.0-7ea3229

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 (239) hide show
  1. package/dist/dev/index.js +1522 -239
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +3 -3
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/bounds.d.ts +10 -0
  6. package/dist/types/common/src/colors.d.ts +59 -39
  7. package/dist/types/common/src/constants.d.ts +38 -27
  8. package/dist/types/common/src/editorInterface.d.ts +34 -0
  9. package/dist/types/common/src/font-metadata.d.ts +1 -3
  10. package/dist/types/common/src/index.d.ts +3 -0
  11. package/dist/types/common/src/keys.d.ts +1 -1
  12. package/dist/types/common/src/utility-types.d.ts +0 -1
  13. package/dist/types/common/src/utils.d.ts +53 -39
  14. package/dist/types/element/src/Scene.d.ts +4 -4
  15. package/dist/types/element/src/arrows/focus.d.ts +27 -0
  16. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  17. package/dist/types/element/src/binding.d.ts +66 -46
  18. package/dist/types/element/src/bounds.d.ts +3 -11
  19. package/dist/types/element/src/collision.d.ts +7 -2
  20. package/dist/types/element/src/comparisons.d.ts +7 -7
  21. package/dist/types/element/src/delta.d.ts +4 -4
  22. package/dist/types/element/src/distribute.d.ts +2 -1
  23. package/dist/types/element/src/dragElements.d.ts +3 -3
  24. package/dist/types/element/src/duplicate.d.ts +3 -3
  25. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  26. package/dist/types/element/src/frame.d.ts +7 -3
  27. package/dist/types/element/src/heading.d.ts +2 -1
  28. package/dist/types/element/src/image.d.ts +1 -11
  29. package/dist/types/element/src/index.d.ts +4 -3
  30. package/dist/types/element/src/linearElementEditor.d.ts +18 -20
  31. package/dist/types/element/src/mutateElement.d.ts +3 -1
  32. package/dist/types/element/src/newElement.d.ts +6 -6
  33. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  34. package/dist/types/element/src/renderElement.d.ts +4 -7
  35. package/dist/types/element/src/resizeElements.d.ts +10 -10
  36. package/dist/types/element/src/resizeTest.d.ts +6 -5
  37. package/dist/types/element/src/selection.d.ts +3 -7
  38. package/dist/types/element/src/shape.d.ts +8 -7
  39. package/dist/types/element/src/store.d.ts +3 -2
  40. package/dist/types/element/src/textElement.d.ts +1 -1
  41. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  42. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  43. package/dist/types/element/src/transformHandles.d.ts +8 -27
  44. package/dist/types/element/src/typeChecks.d.ts +4 -7
  45. package/dist/types/element/src/types.d.ts +7 -11
  46. package/dist/types/element/src/utils.d.ts +8 -3
  47. package/dist/types/element/src/zindex.d.ts +7 -1
  48. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +147 -181
  49. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
  50. package/dist/types/excalidraw/actions/actionBoundText.d.ts +73 -96
  51. package/dist/types/excalidraw/actions/actionCanvas.d.ts +438 -758
  52. package/dist/types/excalidraw/actions/actionClipboard.d.ts +109 -873
  53. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +35 -47
  54. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +121 -159
  55. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  56. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  57. package/dist/types/excalidraw/actions/actionElementLink.d.ts +50 -64
  58. package/dist/types/excalidraw/actions/actionElementLock.d.ts +72 -95
  59. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +52 -64
  60. package/dist/types/excalidraw/actions/actionExport.d.ts +161 -1109
  61. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -394
  62. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  63. package/dist/types/excalidraw/actions/actionFrame.d.ts +264 -347
  64. package/dist/types/excalidraw/actions/actionGroup.d.ts +76 -107
  65. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +170 -220
  66. package/dist/types/excalidraw/actions/actionLink.d.ts +52 -64
  67. package/dist/types/excalidraw/actions/actionMenu.d.ts +45 -425
  68. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  69. package/dist/types/excalidraw/actions/actionProperties.d.ts +135 -2488
  70. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +38 -54
  71. package/dist/types/excalidraw/actions/actionStyles.d.ts +35 -47
  72. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  73. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +52 -64
  74. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +52 -64
  75. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +44 -58
  76. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  77. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +51 -63
  78. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +52 -64
  79. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +52 -64
  80. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  81. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  82. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  83. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  84. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  85. package/dist/types/excalidraw/appState.d.ts +25 -20
  86. package/dist/types/excalidraw/clipboard.d.ts +58 -17
  87. package/dist/types/excalidraw/components/Actions.d.ts +22 -5
  88. package/dist/types/excalidraw/components/App.d.ts +77 -68
  89. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  90. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  91. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -1
  92. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  93. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  94. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  95. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +0 -1
  96. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  97. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  98. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  99. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  100. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  101. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  102. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  103. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  104. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  105. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -2
  106. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  107. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  108. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  109. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  110. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  111. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  112. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  113. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  114. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  115. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  116. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  117. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  118. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  119. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  120. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  121. package/dist/types/excalidraw/components/MobileToolBar.d.ts +10 -0
  122. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  123. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  124. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  125. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  126. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  127. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  128. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  129. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  130. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  131. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  132. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  133. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  134. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  135. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  136. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  137. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  138. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  139. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  140. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  141. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  142. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  143. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  144. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  145. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  146. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  147. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  148. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  149. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  150. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +2 -2
  151. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  152. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  153. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  154. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  155. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +2 -3
  156. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  157. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  158. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  159. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  160. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  161. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  162. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  163. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  164. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  165. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +24 -0
  166. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  167. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  168. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  169. package/dist/types/excalidraw/components/Toast.d.ts +3 -3
  170. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  171. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  172. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +6 -3
  173. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  174. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  175. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  176. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  177. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  178. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  179. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -1
  180. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  181. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  182. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  183. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  184. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  185. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  186. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  187. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  188. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  189. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  190. package/dist/types/excalidraw/components/icons.d.ts +32 -13
  191. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +4 -3
  192. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +17 -2
  193. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  194. package/dist/types/excalidraw/components/shapes.d.ts +202 -1
  195. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +6 -6
  196. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +15 -16
  197. package/dist/types/excalidraw/data/blob.d.ts +330 -10
  198. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  199. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  200. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  201. package/dist/types/excalidraw/data/index.d.ts +3 -3
  202. package/dist/types/excalidraw/data/json.d.ts +162 -2
  203. package/dist/types/excalidraw/data/library.d.ts +24 -9
  204. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  205. package/dist/types/excalidraw/data/types.d.ts +4 -1
  206. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  207. package/dist/types/excalidraw/errors.d.ts +14 -0
  208. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  209. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  210. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  211. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  212. package/dist/types/excalidraw/i18n.d.ts +2 -2
  213. package/dist/types/excalidraw/index.d.ts +7 -7
  214. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  215. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  216. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -14
  217. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  218. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  219. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  220. package/dist/types/excalidraw/scene/types.d.ts +22 -5
  221. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  222. package/dist/types/excalidraw/snapping.d.ts +5 -5
  223. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  224. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  225. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  226. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  227. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  228. package/dist/types/excalidraw/types.d.ts +38 -21
  229. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
  230. package/dist/types/math/src/point.d.ts +6 -1
  231. package/dist/types/math/src/polygon.d.ts +2 -2
  232. package/dist/types/math/src/range.d.ts +1 -3
  233. package/dist/types/math/src/segment.d.ts +4 -3
  234. package/dist/types/math/src/types.d.ts +25 -1
  235. package/dist/types/utils/src/bbox.d.ts +1 -1
  236. package/dist/types/utils/src/export.d.ts +5 -5
  237. package/dist/types/utils/src/shape.d.ts +6 -6
  238. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  239. package/package.json +7 -1
@@ -1,19 +1,8 @@
1
- /// <reference types="react" />
2
1
  import { type SceneBounds } from "@excalidraw/element";
3
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
4
3
  import type { AppState, Offsets } from "../types";
5
- export declare const actionChangeViewBackgroundColor: {
6
- name: "changeViewBackgroundColor";
7
- label: string;
8
- trackEvent: false;
9
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
10
- perform: (_: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
11
- appState: any;
12
- captureUpdate: "IMMEDIATELY" | "EVENTUALLY";
13
- };
14
- PanelComponent: ({ elements, appState, updateData, appProps }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
15
- } & {
16
- keyTest?: undefined;
4
+ export declare const actionChangeViewBackgroundColor: import("./types").Action<Partial<AppState>> & {
5
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
17
6
  };
18
7
  export declare const actionClearCanvas: {
19
8
  name: "clearCanvas";
@@ -23,7 +12,7 @@ export declare const actionClearCanvas: {
23
12
  category: "canvas";
24
13
  };
25
14
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
26
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
15
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
27
16
  elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
28
17
  appState: {
29
18
  files: {};
@@ -59,31 +48,31 @@ export declare const actionClearCanvas: {
59
48
  clip: boolean;
60
49
  };
61
50
  name: string | null;
62
- zoom: Readonly<{
63
- value: import("../types").NormalizedZoomValue;
64
- }>;
51
+ zoom: import("../types").Zoom;
65
52
  scrollX: number;
66
53
  scrollY: number;
67
54
  viewModeEnabled: boolean;
68
- openDialog: {
55
+ openDialog: null | {
69
56
  name: "imageExport" | "help" | "jsonExport";
70
57
  } | {
71
58
  name: "ttd";
72
- tab: "mermaid" | "text-to-diagram";
59
+ tab: "text-to-diagram" | "mermaid";
73
60
  } | {
74
61
  name: "commandPalette";
62
+ } | {
63
+ name: "settings";
75
64
  } | {
76
65
  name: "elementLinkSelector";
77
- sourceElementId: string;
78
- } | null;
79
- editingGroupId: string | null;
66
+ sourceElementId: ExcalidrawElement["id"];
67
+ };
68
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
80
69
  selectedElementIds: Readonly<{
81
70
  [id: string]: true;
82
71
  }>;
83
72
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
84
73
  activeEmbeddable: {
85
74
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
86
- state: "active" | "hover";
75
+ state: "hover" | "active";
87
76
  } | null;
88
77
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
89
78
  selectedGroupIds: {
@@ -91,40 +80,31 @@ export declare const actionClearCanvas: {
91
80
  };
92
81
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
93
82
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
83
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
94
84
  isBindingEnabled: boolean;
95
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
85
+ suggestedBinding: {
86
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
87
+ midPoint?: import("@excalidraw/math").GlobalPoint;
88
+ } | null;
96
89
  isRotating: boolean;
97
90
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
98
- collaborators: Map<import("../types").SocketId, Readonly<{
99
- pointer?: import("../types").CollaboratorPointer | undefined;
100
- button?: "up" | "down" | undefined;
101
- selectedElementIds?: Readonly<{
102
- [id: string]: true;
103
- }> | undefined;
104
- username?: string | null | undefined;
105
- userState?: import("@excalidraw/common").UserIdleState | undefined;
106
- color?: {
107
- background: string;
108
- stroke: string;
109
- } | undefined;
110
- avatarUrl?: string | undefined;
111
- id?: string | undefined;
112
- socketId?: import("../types").SocketId | undefined;
113
- isCurrentUser?: boolean | undefined;
114
- isInCall?: boolean | undefined;
115
- isSpeaking?: boolean | undefined;
116
- isMuted?: boolean | undefined;
117
- }>>;
91
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
118
92
  snapLines: readonly import("../snapping").SnapLine[];
119
93
  zenModeEnabled: boolean;
120
94
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
121
95
  isCropping: boolean;
122
- croppingElementId: string | null;
96
+ croppingElementId: ExcalidrawElement["id"] | null;
123
97
  searchMatches: Readonly<{
124
- focusedId: string | null;
98
+ focusedId: ExcalidrawElement["id"] | null;
125
99
  matches: readonly import("../types").SearchMatch[];
126
100
  }> | null;
127
101
  activeLockedId: string | null;
102
+ hoveredElementIds: Readonly<{
103
+ [id: string]: true;
104
+ }>;
105
+ shouldCacheIgnoreZoom: boolean;
106
+ exportScale: number;
107
+ bindMode: import("@excalidraw/element/types").BindMode;
128
108
  contextMenu: {
129
109
  items: import("../components/ContextMenu").ContextMenuItems;
130
110
  top: number;
@@ -132,55 +112,53 @@ export declare const actionClearCanvas: {
132
112
  } | null;
133
113
  showWelcomeScreen: boolean;
134
114
  isLoading: boolean;
135
- errorMessage: import("react").ReactNode;
136
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
115
+ errorMessage: React.ReactNode;
137
116
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
138
117
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
139
118
  editingFrame: string | null;
119
+ preferredSelectionTool: {
120
+ type: "selection" | "lasso";
121
+ initialized: boolean;
122
+ };
140
123
  exportWithDarkMode: boolean;
141
- exportScale: number;
142
124
  currentItemStrokeColor: string;
143
125
  currentItemBackgroundColor: string;
144
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
126
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
145
127
  currentItemStrokeWidth: number;
146
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
128
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
147
129
  currentItemRoughness: number;
148
130
  currentItemOpacity: number;
149
- currentItemFontFamily: number;
131
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
150
132
  currentItemFontSize: number;
151
- currentItemTextAlign: string;
133
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
152
134
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
153
135
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
154
- currentHoveredFontFamily: number | null;
136
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
155
137
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
156
- currentItemArrowType: "round" | "sharp" | "elbow";
138
+ currentItemArrowType: "sharp" | "round" | "elbow";
157
139
  cursorButton: "up" | "down";
158
140
  scrolledOutside: boolean;
159
141
  isResizing: boolean;
160
- openMenu: "canvas" | "shape" | null;
161
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
142
+ openMenu: "canvas" | null;
143
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
162
144
  openSidebar: {
163
- name: string;
164
- tab?: string | undefined;
145
+ name: import("../types").SidebarName;
146
+ tab?: import("../types").SidebarTabName;
165
147
  } | null;
166
148
  defaultSidebarDockedPreference: boolean;
167
149
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
168
- hoveredElementIds: Readonly<{
169
- [id: string]: true;
170
- }>;
171
150
  previousSelectedElementIds: {
172
151
  [id: string]: true;
173
152
  };
174
153
  selectedElementsAreBeingDragged: boolean;
175
- shouldCacheIgnoreZoom: boolean;
176
154
  toast: {
177
155
  message: string;
178
- closable?: boolean | undefined;
179
- duration?: number | undefined;
156
+ closable?: boolean;
157
+ duration?: number;
180
158
  } | null;
181
159
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
182
160
  currentChartType: import("@excalidraw/element/types").ChartType;
183
- showHyperlinkPopup: false | "editor" | "info";
161
+ showHyperlinkPopup: false | "info" | "editor";
184
162
  originSnapOffset: {
185
163
  x: number;
186
164
  y: number;
@@ -205,7 +183,7 @@ export declare const actionZoomIn: {
205
183
  trackEvent: {
206
184
  category: "canvas";
207
185
  };
208
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
186
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
209
187
  appState: {
210
188
  userToFollow: null;
211
189
  scrollX: number;
@@ -220,10 +198,10 @@ export declare const actionZoomIn: {
220
198
  } | null;
221
199
  showWelcomeScreen: boolean;
222
200
  isLoading: boolean;
223
- errorMessage: import("react").ReactNode;
201
+ errorMessage: React.ReactNode;
224
202
  activeEmbeddable: {
225
203
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
226
- state: "active" | "hover";
204
+ state: "hover" | "active";
227
205
  } | null;
228
206
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
229
207
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -231,7 +209,10 @@ export declare const actionZoomIn: {
231
209
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
232
210
  isBindingEnabled: boolean;
233
211
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
234
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
212
+ suggestedBinding: {
213
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
214
+ midPoint?: import("@excalidraw/math").GlobalPoint;
215
+ } | null;
235
216
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
236
217
  frameRendering: {
237
218
  enabled: boolean;
@@ -247,6 +228,10 @@ export declare const actionZoomIn: {
247
228
  locked: boolean;
248
229
  fromSelection: boolean;
249
230
  } & import("../types").ActiveTool;
231
+ preferredSelectionTool: {
232
+ type: "selection" | "lasso";
233
+ initialized: boolean;
234
+ };
250
235
  penMode: boolean;
251
236
  penDetected: boolean;
252
237
  exportBackground: boolean;
@@ -255,42 +240,44 @@ export declare const actionZoomIn: {
255
240
  exportScale: number;
256
241
  currentItemStrokeColor: string;
257
242
  currentItemBackgroundColor: string;
258
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
243
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
259
244
  currentItemStrokeWidth: number;
260
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
245
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
261
246
  currentItemRoughness: number;
262
247
  currentItemOpacity: number;
263
- currentItemFontFamily: number;
248
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
264
249
  currentItemFontSize: number;
265
- currentItemTextAlign: string;
250
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
266
251
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
267
252
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
268
- currentHoveredFontFamily: number | null;
253
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
269
254
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
270
- currentItemArrowType: "round" | "sharp" | "elbow";
255
+ currentItemArrowType: "sharp" | "round" | "elbow";
271
256
  viewBackgroundColor: string;
272
257
  cursorButton: "up" | "down";
273
258
  scrolledOutside: boolean;
274
259
  name: string | null;
275
260
  isResizing: boolean;
276
261
  isRotating: boolean;
277
- openMenu: "canvas" | "shape" | null;
278
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
262
+ openMenu: "canvas" | null;
263
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
279
264
  openSidebar: {
280
- name: string;
281
- tab?: string | undefined;
265
+ name: import("../types").SidebarName;
266
+ tab?: import("../types").SidebarTabName;
282
267
  } | null;
283
- openDialog: {
268
+ openDialog: null | {
284
269
  name: "imageExport" | "help" | "jsonExport";
285
270
  } | {
286
271
  name: "ttd";
287
- tab: "mermaid" | "text-to-diagram";
272
+ tab: "text-to-diagram" | "mermaid";
288
273
  } | {
289
274
  name: "commandPalette";
275
+ } | {
276
+ name: "settings";
290
277
  } | {
291
278
  name: "elementLinkSelector";
292
- sourceElementId: string;
293
- } | null;
279
+ sourceElementId: ExcalidrawElement["id"];
280
+ };
294
281
  defaultSidebarDockedPreference: boolean;
295
282
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
296
283
  selectedElementIds: Readonly<{
@@ -306,8 +293,8 @@ export declare const actionZoomIn: {
306
293
  shouldCacheIgnoreZoom: boolean;
307
294
  toast: {
308
295
  message: string;
309
- closable?: boolean | undefined;
310
- duration?: number | undefined;
296
+ closable?: boolean;
297
+ duration?: number;
311
298
  } | null;
312
299
  zenModeEnabled: boolean;
313
300
  theme: import("@excalidraw/element/types").Theme;
@@ -318,32 +305,13 @@ export declare const actionZoomIn: {
318
305
  selectedGroupIds: {
319
306
  [groupId: string]: boolean;
320
307
  };
321
- editingGroupId: string | null;
308
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
322
309
  width: number;
323
310
  height: number;
324
311
  offsetTop: number;
325
312
  offsetLeft: number;
326
313
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
327
- collaborators: Map<import("../types").SocketId, Readonly<{
328
- pointer?: import("../types").CollaboratorPointer | undefined;
329
- button?: "up" | "down" | undefined;
330
- selectedElementIds?: Readonly<{
331
- [id: string]: true;
332
- }> | undefined;
333
- username?: string | null | undefined;
334
- userState?: import("@excalidraw/common").UserIdleState | undefined;
335
- color?: {
336
- background: string;
337
- stroke: string;
338
- } | undefined;
339
- avatarUrl?: string | undefined;
340
- id?: string | undefined;
341
- socketId?: import("../types").SocketId | undefined;
342
- isCurrentUser?: boolean | undefined;
343
- isInCall?: boolean | undefined;
344
- isSpeaking?: boolean | undefined;
345
- isMuted?: boolean | undefined;
346
- }>>;
314
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
347
315
  stats: {
348
316
  open: boolean;
349
317
  panels: number;
@@ -356,7 +324,7 @@ export declare const actionZoomIn: {
356
324
  shown: true;
357
325
  data: import("../charts").Spreadsheet;
358
326
  };
359
- showHyperlinkPopup: false | "editor" | "info";
327
+ showHyperlinkPopup: false | "info" | "editor";
360
328
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
361
329
  snapLines: readonly import("../snapping").SnapLine[];
362
330
  originSnapOffset: {
@@ -366,15 +334,16 @@ export declare const actionZoomIn: {
366
334
  objectsSnapModeEnabled: boolean;
367
335
  followedBy: Set<import("../types").SocketId>;
368
336
  isCropping: boolean;
369
- croppingElementId: string | null;
337
+ croppingElementId: ExcalidrawElement["id"] | null;
370
338
  searchMatches: Readonly<{
371
- focusedId: string | null;
339
+ focusedId: ExcalidrawElement["id"] | null;
372
340
  matches: readonly import("../types").SearchMatch[];
373
341
  }> | null;
374
342
  activeLockedId: string | null;
375
343
  lockedMultiSelections: {
376
344
  [groupId: string]: true;
377
345
  };
346
+ bindMode: import("@excalidraw/element/types").BindMode;
378
347
  };
379
348
  captureUpdate: "EVENTUALLY";
380
349
  };
@@ -391,7 +360,7 @@ export declare const actionZoomOut: {
391
360
  trackEvent: {
392
361
  category: "canvas";
393
362
  };
394
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
363
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
395
364
  appState: {
396
365
  userToFollow: null;
397
366
  scrollX: number;
@@ -406,10 +375,10 @@ export declare const actionZoomOut: {
406
375
  } | null;
407
376
  showWelcomeScreen: boolean;
408
377
  isLoading: boolean;
409
- errorMessage: import("react").ReactNode;
378
+ errorMessage: React.ReactNode;
410
379
  activeEmbeddable: {
411
380
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
412
- state: "active" | "hover";
381
+ state: "hover" | "active";
413
382
  } | null;
414
383
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
415
384
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -417,7 +386,10 @@ export declare const actionZoomOut: {
417
386
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
418
387
  isBindingEnabled: boolean;
419
388
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
420
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
389
+ suggestedBinding: {
390
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
391
+ midPoint?: import("@excalidraw/math").GlobalPoint;
392
+ } | null;
421
393
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
422
394
  frameRendering: {
423
395
  enabled: boolean;
@@ -433,6 +405,10 @@ export declare const actionZoomOut: {
433
405
  locked: boolean;
434
406
  fromSelection: boolean;
435
407
  } & import("../types").ActiveTool;
408
+ preferredSelectionTool: {
409
+ type: "selection" | "lasso";
410
+ initialized: boolean;
411
+ };
436
412
  penMode: boolean;
437
413
  penDetected: boolean;
438
414
  exportBackground: boolean;
@@ -441,42 +417,44 @@ export declare const actionZoomOut: {
441
417
  exportScale: number;
442
418
  currentItemStrokeColor: string;
443
419
  currentItemBackgroundColor: string;
444
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
420
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
445
421
  currentItemStrokeWidth: number;
446
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
422
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
447
423
  currentItemRoughness: number;
448
424
  currentItemOpacity: number;
449
- currentItemFontFamily: number;
425
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
450
426
  currentItemFontSize: number;
451
- currentItemTextAlign: string;
427
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
452
428
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
453
429
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
454
- currentHoveredFontFamily: number | null;
430
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
455
431
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
456
- currentItemArrowType: "round" | "sharp" | "elbow";
432
+ currentItemArrowType: "sharp" | "round" | "elbow";
457
433
  viewBackgroundColor: string;
458
434
  cursorButton: "up" | "down";
459
435
  scrolledOutside: boolean;
460
436
  name: string | null;
461
437
  isResizing: boolean;
462
438
  isRotating: boolean;
463
- openMenu: "canvas" | "shape" | null;
464
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
439
+ openMenu: "canvas" | null;
440
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
465
441
  openSidebar: {
466
- name: string;
467
- tab?: string | undefined;
442
+ name: import("../types").SidebarName;
443
+ tab?: import("../types").SidebarTabName;
468
444
  } | null;
469
- openDialog: {
445
+ openDialog: null | {
470
446
  name: "imageExport" | "help" | "jsonExport";
471
447
  } | {
472
448
  name: "ttd";
473
- tab: "mermaid" | "text-to-diagram";
449
+ tab: "text-to-diagram" | "mermaid";
474
450
  } | {
475
451
  name: "commandPalette";
452
+ } | {
453
+ name: "settings";
476
454
  } | {
477
455
  name: "elementLinkSelector";
478
- sourceElementId: string;
479
- } | null;
456
+ sourceElementId: ExcalidrawElement["id"];
457
+ };
480
458
  defaultSidebarDockedPreference: boolean;
481
459
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
482
460
  selectedElementIds: Readonly<{
@@ -492,8 +470,8 @@ export declare const actionZoomOut: {
492
470
  shouldCacheIgnoreZoom: boolean;
493
471
  toast: {
494
472
  message: string;
495
- closable?: boolean | undefined;
496
- duration?: number | undefined;
473
+ closable?: boolean;
474
+ duration?: number;
497
475
  } | null;
498
476
  zenModeEnabled: boolean;
499
477
  theme: import("@excalidraw/element/types").Theme;
@@ -504,32 +482,13 @@ export declare const actionZoomOut: {
504
482
  selectedGroupIds: {
505
483
  [groupId: string]: boolean;
506
484
  };
507
- editingGroupId: string | null;
485
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
508
486
  width: number;
509
487
  height: number;
510
488
  offsetTop: number;
511
489
  offsetLeft: number;
512
490
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
513
- collaborators: Map<import("../types").SocketId, Readonly<{
514
- pointer?: import("../types").CollaboratorPointer | undefined;
515
- button?: "up" | "down" | undefined;
516
- selectedElementIds?: Readonly<{
517
- [id: string]: true;
518
- }> | undefined;
519
- username?: string | null | undefined;
520
- userState?: import("@excalidraw/common").UserIdleState | undefined;
521
- color?: {
522
- background: string;
523
- stroke: string;
524
- } | undefined;
525
- avatarUrl?: string | undefined;
526
- id?: string | undefined;
527
- socketId?: import("../types").SocketId | undefined;
528
- isCurrentUser?: boolean | undefined;
529
- isInCall?: boolean | undefined;
530
- isSpeaking?: boolean | undefined;
531
- isMuted?: boolean | undefined;
532
- }>>;
491
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
533
492
  stats: {
534
493
  open: boolean;
535
494
  panels: number;
@@ -542,7 +501,7 @@ export declare const actionZoomOut: {
542
501
  shown: true;
543
502
  data: import("../charts").Spreadsheet;
544
503
  };
545
- showHyperlinkPopup: false | "editor" | "info";
504
+ showHyperlinkPopup: false | "info" | "editor";
546
505
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
547
506
  snapLines: readonly import("../snapping").SnapLine[];
548
507
  originSnapOffset: {
@@ -552,15 +511,16 @@ export declare const actionZoomOut: {
552
511
  objectsSnapModeEnabled: boolean;
553
512
  followedBy: Set<import("../types").SocketId>;
554
513
  isCropping: boolean;
555
- croppingElementId: string | null;
514
+ croppingElementId: ExcalidrawElement["id"] | null;
556
515
  searchMatches: Readonly<{
557
- focusedId: string | null;
516
+ focusedId: ExcalidrawElement["id"] | null;
558
517
  matches: readonly import("../types").SearchMatch[];
559
518
  }> | null;
560
519
  activeLockedId: string | null;
561
520
  lockedMultiSelections: {
562
521
  [groupId: string]: true;
563
522
  };
523
+ bindMode: import("@excalidraw/element/types").BindMode;
564
524
  };
565
525
  captureUpdate: "EVENTUALLY";
566
526
  };
@@ -577,7 +537,7 @@ export declare const actionResetZoom: {
577
537
  trackEvent: {
578
538
  category: "canvas";
579
539
  };
580
- perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
540
+ perform: (_elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
581
541
  appState: {
582
542
  userToFollow: null;
583
543
  scrollX: number;
@@ -592,10 +552,10 @@ export declare const actionResetZoom: {
592
552
  } | null;
593
553
  showWelcomeScreen: boolean;
594
554
  isLoading: boolean;
595
- errorMessage: import("react").ReactNode;
555
+ errorMessage: React.ReactNode;
596
556
  activeEmbeddable: {
597
557
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
598
- state: "active" | "hover";
558
+ state: "hover" | "active";
599
559
  } | null;
600
560
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
601
561
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -603,7 +563,10 @@ export declare const actionResetZoom: {
603
563
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
604
564
  isBindingEnabled: boolean;
605
565
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
606
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
566
+ suggestedBinding: {
567
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
568
+ midPoint?: import("@excalidraw/math").GlobalPoint;
569
+ } | null;
607
570
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
608
571
  frameRendering: {
609
572
  enabled: boolean;
@@ -619,6 +582,10 @@ export declare const actionResetZoom: {
619
582
  locked: boolean;
620
583
  fromSelection: boolean;
621
584
  } & import("../types").ActiveTool;
585
+ preferredSelectionTool: {
586
+ type: "selection" | "lasso";
587
+ initialized: boolean;
588
+ };
622
589
  penMode: boolean;
623
590
  penDetected: boolean;
624
591
  exportBackground: boolean;
@@ -627,42 +594,44 @@ export declare const actionResetZoom: {
627
594
  exportScale: number;
628
595
  currentItemStrokeColor: string;
629
596
  currentItemBackgroundColor: string;
630
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
597
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
631
598
  currentItemStrokeWidth: number;
632
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
599
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
633
600
  currentItemRoughness: number;
634
601
  currentItemOpacity: number;
635
- currentItemFontFamily: number;
602
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
636
603
  currentItemFontSize: number;
637
- currentItemTextAlign: string;
604
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
638
605
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
639
606
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
640
- currentHoveredFontFamily: number | null;
607
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
641
608
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
642
- currentItemArrowType: "round" | "sharp" | "elbow";
609
+ currentItemArrowType: "sharp" | "round" | "elbow";
643
610
  viewBackgroundColor: string;
644
611
  cursorButton: "up" | "down";
645
612
  scrolledOutside: boolean;
646
613
  name: string | null;
647
614
  isResizing: boolean;
648
615
  isRotating: boolean;
649
- openMenu: "canvas" | "shape" | null;
650
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
616
+ openMenu: "canvas" | null;
617
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
651
618
  openSidebar: {
652
- name: string;
653
- tab?: string | undefined;
619
+ name: import("../types").SidebarName;
620
+ tab?: import("../types").SidebarTabName;
654
621
  } | null;
655
- openDialog: {
622
+ openDialog: null | {
656
623
  name: "imageExport" | "help" | "jsonExport";
657
624
  } | {
658
625
  name: "ttd";
659
- tab: "mermaid" | "text-to-diagram";
626
+ tab: "text-to-diagram" | "mermaid";
660
627
  } | {
661
628
  name: "commandPalette";
629
+ } | {
630
+ name: "settings";
662
631
  } | {
663
632
  name: "elementLinkSelector";
664
- sourceElementId: string;
665
- } | null;
633
+ sourceElementId: ExcalidrawElement["id"];
634
+ };
666
635
  defaultSidebarDockedPreference: boolean;
667
636
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
668
637
  selectedElementIds: Readonly<{
@@ -678,8 +647,8 @@ export declare const actionResetZoom: {
678
647
  shouldCacheIgnoreZoom: boolean;
679
648
  toast: {
680
649
  message: string;
681
- closable?: boolean | undefined;
682
- duration?: number | undefined;
650
+ closable?: boolean;
651
+ duration?: number;
683
652
  } | null;
684
653
  zenModeEnabled: boolean;
685
654
  theme: import("@excalidraw/element/types").Theme;
@@ -690,32 +659,13 @@ export declare const actionResetZoom: {
690
659
  selectedGroupIds: {
691
660
  [groupId: string]: boolean;
692
661
  };
693
- editingGroupId: string | null;
662
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
694
663
  width: number;
695
664
  height: number;
696
665
  offsetTop: number;
697
666
  offsetLeft: number;
698
667
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
699
- collaborators: Map<import("../types").SocketId, Readonly<{
700
- pointer?: import("../types").CollaboratorPointer | undefined;
701
- button?: "up" | "down" | undefined;
702
- selectedElementIds?: Readonly<{
703
- [id: string]: true;
704
- }> | undefined;
705
- username?: string | null | undefined;
706
- userState?: import("@excalidraw/common").UserIdleState | undefined;
707
- color?: {
708
- background: string;
709
- stroke: string;
710
- } | undefined;
711
- avatarUrl?: string | undefined;
712
- id?: string | undefined;
713
- socketId?: import("../types").SocketId | undefined;
714
- isCurrentUser?: boolean | undefined;
715
- isInCall?: boolean | undefined;
716
- isSpeaking?: boolean | undefined;
717
- isMuted?: boolean | undefined;
718
- }>>;
668
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
719
669
  stats: {
720
670
  open: boolean;
721
671
  panels: number;
@@ -728,7 +678,7 @@ export declare const actionResetZoom: {
728
678
  shown: true;
729
679
  data: import("../charts").Spreadsheet;
730
680
  };
731
- showHyperlinkPopup: false | "editor" | "info";
681
+ showHyperlinkPopup: false | "info" | "editor";
732
682
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
733
683
  snapLines: readonly import("../snapping").SnapLine[];
734
684
  originSnapOffset: {
@@ -738,15 +688,16 @@ export declare const actionResetZoom: {
738
688
  objectsSnapModeEnabled: boolean;
739
689
  followedBy: Set<import("../types").SocketId>;
740
690
  isCropping: boolean;
741
- croppingElementId: string | null;
691
+ croppingElementId: ExcalidrawElement["id"] | null;
742
692
  searchMatches: Readonly<{
743
- focusedId: string | null;
693
+ focusedId: ExcalidrawElement["id"] | null;
744
694
  matches: readonly import("../types").SearchMatch[];
745
695
  }> | null;
746
696
  activeLockedId: string | null;
747
697
  lockedMultiSelections: {
748
698
  [groupId: string]: true;
749
699
  };
700
+ bindMode: import("@excalidraw/element/types").BindMode;
750
701
  };
751
702
  captureUpdate: "EVENTUALLY";
752
703
  };
@@ -757,19 +708,14 @@ export declare const actionResetZoom: {
757
708
  };
758
709
  export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
759
710
  bounds: SceneBounds;
760
- canvasOffsets?: Partial<{
761
- top: number;
762
- right: number;
763
- bottom: number;
764
- left: number;
765
- }> | undefined;
711
+ canvasOffsets?: Offsets;
766
712
  appState: Readonly<AppState>;
767
713
  /** whether to fit content to viewport (beyond >100%) */
768
714
  fitToViewport: boolean;
769
715
  /** zoom content to cover X of the viewport, when fitToViewport=true */
770
- viewportZoomFactor?: number | undefined;
771
- minZoom?: number | undefined;
772
- maxZoom?: number | undefined;
716
+ viewportZoomFactor?: number;
717
+ minZoom?: number;
718
+ maxZoom?: number;
773
719
  }) => {
774
720
  appState: {
775
721
  scrollX: number;
@@ -784,10 +730,10 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
784
730
  } | null;
785
731
  showWelcomeScreen: boolean;
786
732
  isLoading: boolean;
787
- errorMessage: import("react").ReactNode;
733
+ errorMessage: React.ReactNode;
788
734
  activeEmbeddable: {
789
735
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
790
- state: "active" | "hover";
736
+ state: "hover" | "active";
791
737
  } | null;
792
738
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
793
739
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -795,7 +741,10 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
795
741
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
796
742
  isBindingEnabled: boolean;
797
743
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
798
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
744
+ suggestedBinding: {
745
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
746
+ midPoint?: import("@excalidraw/math").GlobalPoint;
747
+ } | null;
799
748
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
800
749
  frameRendering: {
801
750
  enabled: boolean;
@@ -811,6 +760,10 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
811
760
  locked: boolean;
812
761
  fromSelection: boolean;
813
762
  } & import("../types").ActiveTool;
763
+ preferredSelectionTool: {
764
+ type: "selection" | "lasso";
765
+ initialized: boolean;
766
+ };
814
767
  penMode: boolean;
815
768
  penDetected: boolean;
816
769
  exportBackground: boolean;
@@ -819,42 +772,44 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
819
772
  exportScale: number;
820
773
  currentItemStrokeColor: string;
821
774
  currentItemBackgroundColor: string;
822
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
775
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
823
776
  currentItemStrokeWidth: number;
824
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
777
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
825
778
  currentItemRoughness: number;
826
779
  currentItemOpacity: number;
827
- currentItemFontFamily: number;
780
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
828
781
  currentItemFontSize: number;
829
- currentItemTextAlign: string;
782
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
830
783
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
831
784
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
832
- currentHoveredFontFamily: number | null;
785
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
833
786
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
834
- currentItemArrowType: "round" | "sharp" | "elbow";
787
+ currentItemArrowType: "sharp" | "round" | "elbow";
835
788
  viewBackgroundColor: string;
836
789
  cursorButton: "up" | "down";
837
790
  scrolledOutside: boolean;
838
791
  name: string | null;
839
792
  isResizing: boolean;
840
793
  isRotating: boolean;
841
- openMenu: "canvas" | "shape" | null;
842
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
794
+ openMenu: "canvas" | null;
795
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
843
796
  openSidebar: {
844
- name: string;
845
- tab?: string | undefined;
797
+ name: import("../types").SidebarName;
798
+ tab?: import("../types").SidebarTabName;
846
799
  } | null;
847
- openDialog: {
800
+ openDialog: null | {
848
801
  name: "imageExport" | "help" | "jsonExport";
849
802
  } | {
850
803
  name: "ttd";
851
- tab: "mermaid" | "text-to-diagram";
804
+ tab: "text-to-diagram" | "mermaid";
852
805
  } | {
853
806
  name: "commandPalette";
807
+ } | {
808
+ name: "settings";
854
809
  } | {
855
810
  name: "elementLinkSelector";
856
- sourceElementId: string;
857
- } | null;
811
+ sourceElementId: ExcalidrawElement["id"];
812
+ };
858
813
  defaultSidebarDockedPreference: boolean;
859
814
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
860
815
  selectedElementIds: Readonly<{
@@ -870,8 +825,8 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
870
825
  shouldCacheIgnoreZoom: boolean;
871
826
  toast: {
872
827
  message: string;
873
- closable?: boolean | undefined;
874
- duration?: number | undefined;
828
+ closable?: boolean;
829
+ duration?: number;
875
830
  } | null;
876
831
  zenModeEnabled: boolean;
877
832
  theme: import("@excalidraw/element/types").Theme;
@@ -882,32 +837,13 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
882
837
  selectedGroupIds: {
883
838
  [groupId: string]: boolean;
884
839
  };
885
- editingGroupId: string | null;
840
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
886
841
  width: number;
887
842
  height: number;
888
843
  offsetTop: number;
889
844
  offsetLeft: number;
890
845
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
891
- collaborators: Map<import("../types").SocketId, Readonly<{
892
- pointer?: import("../types").CollaboratorPointer | undefined;
893
- button?: "up" | "down" | undefined;
894
- selectedElementIds?: Readonly<{
895
- [id: string]: true;
896
- }> | undefined;
897
- username?: string | null | undefined;
898
- userState?: import("@excalidraw/common").UserIdleState | undefined;
899
- color?: {
900
- background: string;
901
- stroke: string;
902
- } | undefined;
903
- avatarUrl?: string | undefined;
904
- id?: string | undefined;
905
- socketId?: import("../types").SocketId | undefined;
906
- isCurrentUser?: boolean | undefined;
907
- isInCall?: boolean | undefined;
908
- isSpeaking?: boolean | undefined;
909
- isMuted?: boolean | undefined;
910
- }>>;
846
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
911
847
  stats: {
912
848
  open: boolean;
913
849
  panels: number;
@@ -920,7 +856,7 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
920
856
  shown: true;
921
857
  data: import("../charts").Spreadsheet;
922
858
  };
923
- showHyperlinkPopup: false | "editor" | "info";
859
+ showHyperlinkPopup: false | "info" | "editor";
924
860
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
925
861
  snapLines: readonly import("../snapping").SnapLine[];
926
862
  originSnapOffset: {
@@ -931,33 +867,29 @@ export declare const zoomToFitBounds: ({ bounds, appState, canvasOffsets, fitToV
931
867
  userToFollow: import("../types").UserToFollow | null;
932
868
  followedBy: Set<import("../types").SocketId>;
933
869
  isCropping: boolean;
934
- croppingElementId: string | null;
870
+ croppingElementId: ExcalidrawElement["id"] | null;
935
871
  searchMatches: Readonly<{
936
- focusedId: string | null;
872
+ focusedId: ExcalidrawElement["id"] | null;
937
873
  matches: readonly import("../types").SearchMatch[];
938
874
  }> | null;
939
875
  activeLockedId: string | null;
940
876
  lockedMultiSelections: {
941
877
  [groupId: string]: true;
942
878
  };
879
+ bindMode: import("@excalidraw/element/types").BindMode;
943
880
  };
944
881
  captureUpdate: "EVENTUALLY";
945
882
  };
946
883
  export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitToViewport, viewportZoomFactor, minZoom, maxZoom, }: {
947
- canvasOffsets?: Partial<{
948
- top: number;
949
- right: number;
950
- bottom: number;
951
- left: number;
952
- }> | undefined;
884
+ canvasOffsets?: Offsets;
953
885
  targetElements: readonly ExcalidrawElement[];
954
886
  appState: Readonly<AppState>;
955
887
  /** whether to fit content to viewport (beyond >100%) */
956
888
  fitToViewport: boolean;
957
889
  /** zoom content to cover X of the viewport, when fitToViewport=true */
958
- viewportZoomFactor?: number | undefined;
959
- minZoom?: number | undefined;
960
- maxZoom?: number | undefined;
890
+ viewportZoomFactor?: number;
891
+ minZoom?: number;
892
+ maxZoom?: number;
961
893
  }) => {
962
894
  appState: {
963
895
  scrollX: number;
@@ -972,10 +904,10 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
972
904
  } | null;
973
905
  showWelcomeScreen: boolean;
974
906
  isLoading: boolean;
975
- errorMessage: import("react").ReactNode;
907
+ errorMessage: React.ReactNode;
976
908
  activeEmbeddable: {
977
909
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
978
- state: "active" | "hover";
910
+ state: "hover" | "active";
979
911
  } | null;
980
912
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
981
913
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -983,7 +915,10 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
983
915
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
984
916
  isBindingEnabled: boolean;
985
917
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
986
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
918
+ suggestedBinding: {
919
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
920
+ midPoint?: import("@excalidraw/math").GlobalPoint;
921
+ } | null;
987
922
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
988
923
  frameRendering: {
989
924
  enabled: boolean;
@@ -999,6 +934,10 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
999
934
  locked: boolean;
1000
935
  fromSelection: boolean;
1001
936
  } & import("../types").ActiveTool;
937
+ preferredSelectionTool: {
938
+ type: "selection" | "lasso";
939
+ initialized: boolean;
940
+ };
1002
941
  penMode: boolean;
1003
942
  penDetected: boolean;
1004
943
  exportBackground: boolean;
@@ -1007,42 +946,44 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1007
946
  exportScale: number;
1008
947
  currentItemStrokeColor: string;
1009
948
  currentItemBackgroundColor: string;
1010
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
949
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
1011
950
  currentItemStrokeWidth: number;
1012
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
951
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1013
952
  currentItemRoughness: number;
1014
953
  currentItemOpacity: number;
1015
- currentItemFontFamily: number;
954
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1016
955
  currentItemFontSize: number;
1017
- currentItemTextAlign: string;
956
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1018
957
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1019
958
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1020
- currentHoveredFontFamily: number | null;
959
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1021
960
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1022
- currentItemArrowType: "round" | "sharp" | "elbow";
961
+ currentItemArrowType: "sharp" | "round" | "elbow";
1023
962
  viewBackgroundColor: string;
1024
963
  cursorButton: "up" | "down";
1025
964
  scrolledOutside: boolean;
1026
965
  name: string | null;
1027
966
  isResizing: boolean;
1028
967
  isRotating: boolean;
1029
- openMenu: "canvas" | "shape" | null;
1030
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
968
+ openMenu: "canvas" | null;
969
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1031
970
  openSidebar: {
1032
- name: string;
1033
- tab?: string | undefined;
971
+ name: import("../types").SidebarName;
972
+ tab?: import("../types").SidebarTabName;
1034
973
  } | null;
1035
- openDialog: {
974
+ openDialog: null | {
1036
975
  name: "imageExport" | "help" | "jsonExport";
1037
976
  } | {
1038
977
  name: "ttd";
1039
- tab: "mermaid" | "text-to-diagram";
978
+ tab: "text-to-diagram" | "mermaid";
1040
979
  } | {
1041
980
  name: "commandPalette";
981
+ } | {
982
+ name: "settings";
1042
983
  } | {
1043
984
  name: "elementLinkSelector";
1044
- sourceElementId: string;
1045
- } | null;
985
+ sourceElementId: ExcalidrawElement["id"];
986
+ };
1046
987
  defaultSidebarDockedPreference: boolean;
1047
988
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1048
989
  selectedElementIds: Readonly<{
@@ -1058,8 +999,8 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1058
999
  shouldCacheIgnoreZoom: boolean;
1059
1000
  toast: {
1060
1001
  message: string;
1061
- closable?: boolean | undefined;
1062
- duration?: number | undefined;
1002
+ closable?: boolean;
1003
+ duration?: number;
1063
1004
  } | null;
1064
1005
  zenModeEnabled: boolean;
1065
1006
  theme: import("@excalidraw/element/types").Theme;
@@ -1070,32 +1011,13 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1070
1011
  selectedGroupIds: {
1071
1012
  [groupId: string]: boolean;
1072
1013
  };
1073
- editingGroupId: string | null;
1014
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1074
1015
  width: number;
1075
1016
  height: number;
1076
1017
  offsetTop: number;
1077
1018
  offsetLeft: number;
1078
1019
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
1079
- collaborators: Map<import("../types").SocketId, Readonly<{
1080
- pointer?: import("../types").CollaboratorPointer | undefined;
1081
- button?: "up" | "down" | undefined;
1082
- selectedElementIds?: Readonly<{
1083
- [id: string]: true;
1084
- }> | undefined;
1085
- username?: string | null | undefined;
1086
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1087
- color?: {
1088
- background: string;
1089
- stroke: string;
1090
- } | undefined;
1091
- avatarUrl?: string | undefined;
1092
- id?: string | undefined;
1093
- socketId?: import("../types").SocketId | undefined;
1094
- isCurrentUser?: boolean | undefined;
1095
- isInCall?: boolean | undefined;
1096
- isSpeaking?: boolean | undefined;
1097
- isMuted?: boolean | undefined;
1098
- }>>;
1020
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1099
1021
  stats: {
1100
1022
  open: boolean;
1101
1023
  panels: number;
@@ -1108,7 +1030,7 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1108
1030
  shown: true;
1109
1031
  data: import("../charts").Spreadsheet;
1110
1032
  };
1111
- showHyperlinkPopup: false | "editor" | "info";
1033
+ showHyperlinkPopup: false | "info" | "editor";
1112
1034
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1113
1035
  snapLines: readonly import("../snapping").SnapLine[];
1114
1036
  originSnapOffset: {
@@ -1119,15 +1041,16 @@ export declare const zoomToFit: ({ canvasOffsets, targetElements, appState, fitT
1119
1041
  userToFollow: import("../types").UserToFollow | null;
1120
1042
  followedBy: Set<import("../types").SocketId>;
1121
1043
  isCropping: boolean;
1122
- croppingElementId: string | null;
1044
+ croppingElementId: ExcalidrawElement["id"] | null;
1123
1045
  searchMatches: Readonly<{
1124
- focusedId: string | null;
1046
+ focusedId: ExcalidrawElement["id"] | null;
1125
1047
  matches: readonly import("../types").SearchMatch[];
1126
1048
  }> | null;
1127
1049
  activeLockedId: string | null;
1128
1050
  lockedMultiSelections: {
1129
1051
  [groupId: string]: true;
1130
1052
  };
1053
+ bindMode: import("@excalidraw/element/types").BindMode;
1131
1054
  };
1132
1055
  captureUpdate: "EVENTUALLY";
1133
1056
  };
@@ -1138,7 +1061,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1138
1061
  trackEvent: {
1139
1062
  category: "canvas";
1140
1063
  };
1141
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1064
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1142
1065
  appState: {
1143
1066
  scrollX: number;
1144
1067
  scrollY: number;
@@ -1152,10 +1075,10 @@ export declare const actionZoomToFitSelectionInViewport: {
1152
1075
  } | null;
1153
1076
  showWelcomeScreen: boolean;
1154
1077
  isLoading: boolean;
1155
- errorMessage: import("react").ReactNode;
1078
+ errorMessage: React.ReactNode;
1156
1079
  activeEmbeddable: {
1157
1080
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1158
- state: "active" | "hover";
1081
+ state: "hover" | "active";
1159
1082
  } | null;
1160
1083
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1161
1084
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -1163,7 +1086,10 @@ export declare const actionZoomToFitSelectionInViewport: {
1163
1086
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1164
1087
  isBindingEnabled: boolean;
1165
1088
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1166
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1089
+ suggestedBinding: {
1090
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1091
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1092
+ } | null;
1167
1093
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1168
1094
  frameRendering: {
1169
1095
  enabled: boolean;
@@ -1179,6 +1105,10 @@ export declare const actionZoomToFitSelectionInViewport: {
1179
1105
  locked: boolean;
1180
1106
  fromSelection: boolean;
1181
1107
  } & import("../types").ActiveTool;
1108
+ preferredSelectionTool: {
1109
+ type: "selection" | "lasso";
1110
+ initialized: boolean;
1111
+ };
1182
1112
  penMode: boolean;
1183
1113
  penDetected: boolean;
1184
1114
  exportBackground: boolean;
@@ -1187,42 +1117,44 @@ export declare const actionZoomToFitSelectionInViewport: {
1187
1117
  exportScale: number;
1188
1118
  currentItemStrokeColor: string;
1189
1119
  currentItemBackgroundColor: string;
1190
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1120
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
1191
1121
  currentItemStrokeWidth: number;
1192
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1122
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1193
1123
  currentItemRoughness: number;
1194
1124
  currentItemOpacity: number;
1195
- currentItemFontFamily: number;
1125
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1196
1126
  currentItemFontSize: number;
1197
- currentItemTextAlign: string;
1127
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1198
1128
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1199
1129
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1200
- currentHoveredFontFamily: number | null;
1130
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1201
1131
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1202
- currentItemArrowType: "round" | "sharp" | "elbow";
1132
+ currentItemArrowType: "sharp" | "round" | "elbow";
1203
1133
  viewBackgroundColor: string;
1204
1134
  cursorButton: "up" | "down";
1205
1135
  scrolledOutside: boolean;
1206
1136
  name: string | null;
1207
1137
  isResizing: boolean;
1208
1138
  isRotating: boolean;
1209
- openMenu: "canvas" | "shape" | null;
1210
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1139
+ openMenu: "canvas" | null;
1140
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1211
1141
  openSidebar: {
1212
- name: string;
1213
- tab?: string | undefined;
1142
+ name: import("../types").SidebarName;
1143
+ tab?: import("../types").SidebarTabName;
1214
1144
  } | null;
1215
- openDialog: {
1145
+ openDialog: null | {
1216
1146
  name: "imageExport" | "help" | "jsonExport";
1217
1147
  } | {
1218
1148
  name: "ttd";
1219
- tab: "mermaid" | "text-to-diagram";
1149
+ tab: "text-to-diagram" | "mermaid";
1220
1150
  } | {
1221
1151
  name: "commandPalette";
1152
+ } | {
1153
+ name: "settings";
1222
1154
  } | {
1223
1155
  name: "elementLinkSelector";
1224
- sourceElementId: string;
1225
- } | null;
1156
+ sourceElementId: ExcalidrawElement["id"];
1157
+ };
1226
1158
  defaultSidebarDockedPreference: boolean;
1227
1159
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1228
1160
  selectedElementIds: Readonly<{
@@ -1238,8 +1170,8 @@ export declare const actionZoomToFitSelectionInViewport: {
1238
1170
  shouldCacheIgnoreZoom: boolean;
1239
1171
  toast: {
1240
1172
  message: string;
1241
- closable?: boolean | undefined;
1242
- duration?: number | undefined;
1173
+ closable?: boolean;
1174
+ duration?: number;
1243
1175
  } | null;
1244
1176
  zenModeEnabled: boolean;
1245
1177
  theme: import("@excalidraw/element/types").Theme;
@@ -1250,32 +1182,13 @@ export declare const actionZoomToFitSelectionInViewport: {
1250
1182
  selectedGroupIds: {
1251
1183
  [groupId: string]: boolean;
1252
1184
  };
1253
- editingGroupId: string | null;
1185
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1254
1186
  width: number;
1255
1187
  height: number;
1256
1188
  offsetTop: number;
1257
1189
  offsetLeft: number;
1258
1190
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
1259
- collaborators: Map<import("../types").SocketId, Readonly<{
1260
- pointer?: import("../types").CollaboratorPointer | undefined;
1261
- button?: "up" | "down" | undefined;
1262
- selectedElementIds?: Readonly<{
1263
- [id: string]: true;
1264
- }> | undefined;
1265
- username?: string | null | undefined;
1266
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1267
- color?: {
1268
- background: string;
1269
- stroke: string;
1270
- } | undefined;
1271
- avatarUrl?: string | undefined;
1272
- id?: string | undefined;
1273
- socketId?: import("../types").SocketId | undefined;
1274
- isCurrentUser?: boolean | undefined;
1275
- isInCall?: boolean | undefined;
1276
- isSpeaking?: boolean | undefined;
1277
- isMuted?: boolean | undefined;
1278
- }>>;
1191
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1279
1192
  stats: {
1280
1193
  open: boolean;
1281
1194
  panels: number;
@@ -1288,7 +1201,7 @@ export declare const actionZoomToFitSelectionInViewport: {
1288
1201
  shown: true;
1289
1202
  data: import("../charts").Spreadsheet;
1290
1203
  };
1291
- showHyperlinkPopup: false | "editor" | "info";
1204
+ showHyperlinkPopup: false | "info" | "editor";
1292
1205
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1293
1206
  snapLines: readonly import("../snapping").SnapLine[];
1294
1207
  originSnapOffset: {
@@ -1299,15 +1212,16 @@ export declare const actionZoomToFitSelectionInViewport: {
1299
1212
  userToFollow: import("../types").UserToFollow | null;
1300
1213
  followedBy: Set<import("../types").SocketId>;
1301
1214
  isCropping: boolean;
1302
- croppingElementId: string | null;
1215
+ croppingElementId: ExcalidrawElement["id"] | null;
1303
1216
  searchMatches: Readonly<{
1304
- focusedId: string | null;
1217
+ focusedId: ExcalidrawElement["id"] | null;
1305
1218
  matches: readonly import("../types").SearchMatch[];
1306
1219
  }> | null;
1307
1220
  activeLockedId: string | null;
1308
1221
  lockedMultiSelections: {
1309
1222
  [groupId: string]: true;
1310
1223
  };
1224
+ bindMode: import("@excalidraw/element/types").BindMode;
1311
1225
  };
1312
1226
  captureUpdate: "EVENTUALLY";
1313
1227
  };
@@ -1322,7 +1236,7 @@ export declare const actionZoomToFitSelection: {
1322
1236
  trackEvent: {
1323
1237
  category: "canvas";
1324
1238
  };
1325
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1239
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1326
1240
  appState: {
1327
1241
  scrollX: number;
1328
1242
  scrollY: number;
@@ -1336,10 +1250,10 @@ export declare const actionZoomToFitSelection: {
1336
1250
  } | null;
1337
1251
  showWelcomeScreen: boolean;
1338
1252
  isLoading: boolean;
1339
- errorMessage: import("react").ReactNode;
1253
+ errorMessage: React.ReactNode;
1340
1254
  activeEmbeddable: {
1341
1255
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1342
- state: "active" | "hover";
1256
+ state: "hover" | "active";
1343
1257
  } | null;
1344
1258
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1345
1259
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -1347,7 +1261,10 @@ export declare const actionZoomToFitSelection: {
1347
1261
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1348
1262
  isBindingEnabled: boolean;
1349
1263
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1350
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1264
+ suggestedBinding: {
1265
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1266
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1267
+ } | null;
1351
1268
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1352
1269
  frameRendering: {
1353
1270
  enabled: boolean;
@@ -1363,6 +1280,10 @@ export declare const actionZoomToFitSelection: {
1363
1280
  locked: boolean;
1364
1281
  fromSelection: boolean;
1365
1282
  } & import("../types").ActiveTool;
1283
+ preferredSelectionTool: {
1284
+ type: "selection" | "lasso";
1285
+ initialized: boolean;
1286
+ };
1366
1287
  penMode: boolean;
1367
1288
  penDetected: boolean;
1368
1289
  exportBackground: boolean;
@@ -1371,42 +1292,44 @@ export declare const actionZoomToFitSelection: {
1371
1292
  exportScale: number;
1372
1293
  currentItemStrokeColor: string;
1373
1294
  currentItemBackgroundColor: string;
1374
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1295
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
1375
1296
  currentItemStrokeWidth: number;
1376
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1297
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1377
1298
  currentItemRoughness: number;
1378
1299
  currentItemOpacity: number;
1379
- currentItemFontFamily: number;
1300
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1380
1301
  currentItemFontSize: number;
1381
- currentItemTextAlign: string;
1302
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1382
1303
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1383
1304
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1384
- currentHoveredFontFamily: number | null;
1305
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1385
1306
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1386
- currentItemArrowType: "round" | "sharp" | "elbow";
1307
+ currentItemArrowType: "sharp" | "round" | "elbow";
1387
1308
  viewBackgroundColor: string;
1388
1309
  cursorButton: "up" | "down";
1389
1310
  scrolledOutside: boolean;
1390
1311
  name: string | null;
1391
1312
  isResizing: boolean;
1392
1313
  isRotating: boolean;
1393
- openMenu: "canvas" | "shape" | null;
1394
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1314
+ openMenu: "canvas" | null;
1315
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1395
1316
  openSidebar: {
1396
- name: string;
1397
- tab?: string | undefined;
1317
+ name: import("../types").SidebarName;
1318
+ tab?: import("../types").SidebarTabName;
1398
1319
  } | null;
1399
- openDialog: {
1320
+ openDialog: null | {
1400
1321
  name: "imageExport" | "help" | "jsonExport";
1401
1322
  } | {
1402
1323
  name: "ttd";
1403
- tab: "mermaid" | "text-to-diagram";
1324
+ tab: "text-to-diagram" | "mermaid";
1404
1325
  } | {
1405
1326
  name: "commandPalette";
1327
+ } | {
1328
+ name: "settings";
1406
1329
  } | {
1407
1330
  name: "elementLinkSelector";
1408
- sourceElementId: string;
1409
- } | null;
1331
+ sourceElementId: ExcalidrawElement["id"];
1332
+ };
1410
1333
  defaultSidebarDockedPreference: boolean;
1411
1334
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1412
1335
  selectedElementIds: Readonly<{
@@ -1422,8 +1345,8 @@ export declare const actionZoomToFitSelection: {
1422
1345
  shouldCacheIgnoreZoom: boolean;
1423
1346
  toast: {
1424
1347
  message: string;
1425
- closable?: boolean | undefined;
1426
- duration?: number | undefined;
1348
+ closable?: boolean;
1349
+ duration?: number;
1427
1350
  } | null;
1428
1351
  zenModeEnabled: boolean;
1429
1352
  theme: import("@excalidraw/element/types").Theme;
@@ -1434,32 +1357,13 @@ export declare const actionZoomToFitSelection: {
1434
1357
  selectedGroupIds: {
1435
1358
  [groupId: string]: boolean;
1436
1359
  };
1437
- editingGroupId: string | null;
1360
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1438
1361
  width: number;
1439
1362
  height: number;
1440
1363
  offsetTop: number;
1441
1364
  offsetLeft: number;
1442
1365
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
1443
- collaborators: Map<import("../types").SocketId, Readonly<{
1444
- pointer?: import("../types").CollaboratorPointer | undefined;
1445
- button?: "up" | "down" | undefined;
1446
- selectedElementIds?: Readonly<{
1447
- [id: string]: true;
1448
- }> | undefined;
1449
- username?: string | null | undefined;
1450
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1451
- color?: {
1452
- background: string;
1453
- stroke: string;
1454
- } | undefined;
1455
- avatarUrl?: string | undefined;
1456
- id?: string | undefined;
1457
- socketId?: import("../types").SocketId | undefined;
1458
- isCurrentUser?: boolean | undefined;
1459
- isInCall?: boolean | undefined;
1460
- isSpeaking?: boolean | undefined;
1461
- isMuted?: boolean | undefined;
1462
- }>>;
1366
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1463
1367
  stats: {
1464
1368
  open: boolean;
1465
1369
  panels: number;
@@ -1472,7 +1376,7 @@ export declare const actionZoomToFitSelection: {
1472
1376
  shown: true;
1473
1377
  data: import("../charts").Spreadsheet;
1474
1378
  };
1475
- showHyperlinkPopup: false | "editor" | "info";
1379
+ showHyperlinkPopup: false | "info" | "editor";
1476
1380
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1477
1381
  snapLines: readonly import("../snapping").SnapLine[];
1478
1382
  originSnapOffset: {
@@ -1483,15 +1387,16 @@ export declare const actionZoomToFitSelection: {
1483
1387
  userToFollow: import("../types").UserToFollow | null;
1484
1388
  followedBy: Set<import("../types").SocketId>;
1485
1389
  isCropping: boolean;
1486
- croppingElementId: string | null;
1390
+ croppingElementId: ExcalidrawElement["id"] | null;
1487
1391
  searchMatches: Readonly<{
1488
- focusedId: string | null;
1392
+ focusedId: ExcalidrawElement["id"] | null;
1489
1393
  matches: readonly import("../types").SearchMatch[];
1490
1394
  }> | null;
1491
1395
  activeLockedId: string | null;
1492
1396
  lockedMultiSelections: {
1493
1397
  [groupId: string]: true;
1494
1398
  };
1399
+ bindMode: import("@excalidraw/element/types").BindMode;
1495
1400
  };
1496
1401
  captureUpdate: "EVENTUALLY";
1497
1402
  };
@@ -1507,7 +1412,7 @@ export declare const actionZoomToFit: {
1507
1412
  trackEvent: {
1508
1413
  category: "canvas";
1509
1414
  };
1510
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1415
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1511
1416
  appState: {
1512
1417
  scrollX: number;
1513
1418
  scrollY: number;
@@ -1521,10 +1426,10 @@ export declare const actionZoomToFit: {
1521
1426
  } | null;
1522
1427
  showWelcomeScreen: boolean;
1523
1428
  isLoading: boolean;
1524
- errorMessage: import("react").ReactNode;
1429
+ errorMessage: React.ReactNode;
1525
1430
  activeEmbeddable: {
1526
1431
  element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1527
- state: "active" | "hover";
1432
+ state: "hover" | "active";
1528
1433
  } | null;
1529
1434
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1530
1435
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
@@ -1532,7 +1437,10 @@ export declare const actionZoomToFit: {
1532
1437
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1533
1438
  isBindingEnabled: boolean;
1534
1439
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1535
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1440
+ suggestedBinding: {
1441
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1442
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1443
+ } | null;
1536
1444
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1537
1445
  frameRendering: {
1538
1446
  enabled: boolean;
@@ -1548,6 +1456,10 @@ export declare const actionZoomToFit: {
1548
1456
  locked: boolean;
1549
1457
  fromSelection: boolean;
1550
1458
  } & import("../types").ActiveTool;
1459
+ preferredSelectionTool: {
1460
+ type: "selection" | "lasso";
1461
+ initialized: boolean;
1462
+ };
1551
1463
  penMode: boolean;
1552
1464
  penDetected: boolean;
1553
1465
  exportBackground: boolean;
@@ -1556,42 +1468,44 @@ export declare const actionZoomToFit: {
1556
1468
  exportScale: number;
1557
1469
  currentItemStrokeColor: string;
1558
1470
  currentItemBackgroundColor: string;
1559
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1471
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
1560
1472
  currentItemStrokeWidth: number;
1561
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1473
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1562
1474
  currentItemRoughness: number;
1563
1475
  currentItemOpacity: number;
1564
- currentItemFontFamily: number;
1476
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1565
1477
  currentItemFontSize: number;
1566
- currentItemTextAlign: string;
1478
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1567
1479
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1568
1480
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1569
- currentHoveredFontFamily: number | null;
1481
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1570
1482
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1571
- currentItemArrowType: "round" | "sharp" | "elbow";
1483
+ currentItemArrowType: "sharp" | "round" | "elbow";
1572
1484
  viewBackgroundColor: string;
1573
1485
  cursorButton: "up" | "down";
1574
1486
  scrolledOutside: boolean;
1575
1487
  name: string | null;
1576
1488
  isResizing: boolean;
1577
1489
  isRotating: boolean;
1578
- openMenu: "canvas" | "shape" | null;
1579
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1490
+ openMenu: "canvas" | null;
1491
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1580
1492
  openSidebar: {
1581
- name: string;
1582
- tab?: string | undefined;
1493
+ name: import("../types").SidebarName;
1494
+ tab?: import("../types").SidebarTabName;
1583
1495
  } | null;
1584
- openDialog: {
1496
+ openDialog: null | {
1585
1497
  name: "imageExport" | "help" | "jsonExport";
1586
1498
  } | {
1587
1499
  name: "ttd";
1588
- tab: "mermaid" | "text-to-diagram";
1500
+ tab: "text-to-diagram" | "mermaid";
1589
1501
  } | {
1590
1502
  name: "commandPalette";
1503
+ } | {
1504
+ name: "settings";
1591
1505
  } | {
1592
1506
  name: "elementLinkSelector";
1593
- sourceElementId: string;
1594
- } | null;
1507
+ sourceElementId: ExcalidrawElement["id"];
1508
+ };
1595
1509
  defaultSidebarDockedPreference: boolean;
1596
1510
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1597
1511
  selectedElementIds: Readonly<{
@@ -1607,8 +1521,8 @@ export declare const actionZoomToFit: {
1607
1521
  shouldCacheIgnoreZoom: boolean;
1608
1522
  toast: {
1609
1523
  message: string;
1610
- closable?: boolean | undefined;
1611
- duration?: number | undefined;
1524
+ closable?: boolean;
1525
+ duration?: number;
1612
1526
  } | null;
1613
1527
  zenModeEnabled: boolean;
1614
1528
  theme: import("@excalidraw/element/types").Theme;
@@ -1619,32 +1533,13 @@ export declare const actionZoomToFit: {
1619
1533
  selectedGroupIds: {
1620
1534
  [groupId: string]: boolean;
1621
1535
  };
1622
- editingGroupId: string | null;
1536
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1623
1537
  width: number;
1624
1538
  height: number;
1625
1539
  offsetTop: number;
1626
1540
  offsetLeft: number;
1627
1541
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
1628
- collaborators: Map<import("../types").SocketId, Readonly<{
1629
- pointer?: import("../types").CollaboratorPointer | undefined;
1630
- button?: "up" | "down" | undefined;
1631
- selectedElementIds?: Readonly<{
1632
- [id: string]: true;
1633
- }> | undefined;
1634
- username?: string | null | undefined;
1635
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1636
- color?: {
1637
- background: string;
1638
- stroke: string;
1639
- } | undefined;
1640
- avatarUrl?: string | undefined;
1641
- id?: string | undefined;
1642
- socketId?: import("../types").SocketId | undefined;
1643
- isCurrentUser?: boolean | undefined;
1644
- isInCall?: boolean | undefined;
1645
- isSpeaking?: boolean | undefined;
1646
- isMuted?: boolean | undefined;
1647
- }>>;
1542
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
1648
1543
  stats: {
1649
1544
  open: boolean;
1650
1545
  panels: number;
@@ -1657,7 +1552,7 @@ export declare const actionZoomToFit: {
1657
1552
  shown: true;
1658
1553
  data: import("../charts").Spreadsheet;
1659
1554
  };
1660
- showHyperlinkPopup: false | "editor" | "info";
1555
+ showHyperlinkPopup: false | "info" | "editor";
1661
1556
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1662
1557
  snapLines: readonly import("../snapping").SnapLine[];
1663
1558
  originSnapOffset: {
@@ -1668,15 +1563,16 @@ export declare const actionZoomToFit: {
1668
1563
  userToFollow: import("../types").UserToFollow | null;
1669
1564
  followedBy: Set<import("../types").SocketId>;
1670
1565
  isCropping: boolean;
1671
- croppingElementId: string | null;
1566
+ croppingElementId: ExcalidrawElement["id"] | null;
1672
1567
  searchMatches: Readonly<{
1673
- focusedId: string | null;
1568
+ focusedId: ExcalidrawElement["id"] | null;
1674
1569
  matches: readonly import("../types").SearchMatch[];
1675
1570
  }> | null;
1676
1571
  activeLockedId: string | null;
1677
1572
  lockedMultiSelections: {
1678
1573
  [groupId: string]: true;
1679
1574
  };
1575
+ bindMode: import("@excalidraw/element/types").BindMode;
1680
1576
  };
1681
1577
  captureUpdate: "EVENTUALLY";
1682
1578
  };
@@ -1684,192 +1580,8 @@ export declare const actionZoomToFit: {
1684
1580
  } & {
1685
1581
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1686
1582
  };
1687
- export declare const actionToggleTheme: {
1688
- name: "toggleTheme";
1689
- label: (_: readonly ExcalidrawElement[], appState: Readonly<AppState>) => "buttons.lightMode" | "buttons.darkMode";
1690
- keywords: string[];
1691
- icon: (appState: import("../types").UIAppState) => import("react/jsx-runtime").JSX.Element;
1692
- viewMode: true;
1693
- trackEvent: {
1694
- category: "canvas";
1695
- };
1696
- perform: (_: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, value: any) => {
1697
- appState: {
1698
- theme: any;
1699
- contextMenu: {
1700
- items: import("../components/ContextMenu").ContextMenuItems;
1701
- top: number;
1702
- left: number;
1703
- } | null;
1704
- showWelcomeScreen: boolean;
1705
- isLoading: boolean;
1706
- errorMessage: import("react").ReactNode;
1707
- activeEmbeddable: {
1708
- element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
1709
- state: "active" | "hover";
1710
- } | null;
1711
- newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1712
- resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1713
- multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1714
- selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1715
- isBindingEnabled: boolean;
1716
- startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1717
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1718
- frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1719
- frameRendering: {
1720
- enabled: boolean;
1721
- name: boolean;
1722
- outline: boolean;
1723
- clip: boolean;
1724
- };
1725
- editingFrame: string | null;
1726
- elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1727
- editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1728
- activeTool: {
1729
- lastActiveTool: import("../types").ActiveTool | null;
1730
- locked: boolean;
1731
- fromSelection: boolean;
1732
- } & import("../types").ActiveTool;
1733
- penMode: boolean;
1734
- penDetected: boolean;
1735
- exportBackground: boolean;
1736
- exportEmbedScene: boolean;
1737
- exportWithDarkMode: boolean;
1738
- exportScale: number;
1739
- currentItemStrokeColor: string;
1740
- currentItemBackgroundColor: string;
1741
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1742
- currentItemStrokeWidth: number;
1743
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1744
- currentItemRoughness: number;
1745
- currentItemOpacity: number;
1746
- currentItemFontFamily: number;
1747
- currentItemFontSize: number;
1748
- currentItemTextAlign: string;
1749
- currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1750
- currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1751
- currentHoveredFontFamily: number | null;
1752
- currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1753
- currentItemArrowType: "round" | "sharp" | "elbow";
1754
- viewBackgroundColor: string;
1755
- scrollX: number;
1756
- scrollY: number;
1757
- cursorButton: "up" | "down";
1758
- scrolledOutside: boolean;
1759
- name: string | null;
1760
- isResizing: boolean;
1761
- isRotating: boolean;
1762
- zoom: Readonly<{
1763
- value: import("../types").NormalizedZoomValue;
1764
- }>;
1765
- openMenu: "canvas" | "shape" | null;
1766
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1767
- openSidebar: {
1768
- name: string;
1769
- tab?: string | undefined;
1770
- } | null;
1771
- openDialog: {
1772
- name: "imageExport" | "help" | "jsonExport";
1773
- } | {
1774
- name: "ttd";
1775
- tab: "mermaid" | "text-to-diagram";
1776
- } | {
1777
- name: "commandPalette";
1778
- } | {
1779
- name: "elementLinkSelector";
1780
- sourceElementId: string;
1781
- } | null;
1782
- defaultSidebarDockedPreference: boolean;
1783
- lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1784
- selectedElementIds: Readonly<{
1785
- [id: string]: true;
1786
- }>;
1787
- hoveredElementIds: Readonly<{
1788
- [id: string]: true;
1789
- }>;
1790
- previousSelectedElementIds: {
1791
- [id: string]: true;
1792
- };
1793
- selectedElementsAreBeingDragged: boolean;
1794
- shouldCacheIgnoreZoom: boolean;
1795
- toast: {
1796
- message: string;
1797
- closable?: boolean | undefined;
1798
- duration?: number | undefined;
1799
- } | null;
1800
- zenModeEnabled: boolean;
1801
- gridSize: number;
1802
- gridStep: number;
1803
- gridModeEnabled: boolean;
1804
- viewModeEnabled: boolean;
1805
- selectedGroupIds: {
1806
- [groupId: string]: boolean;
1807
- };
1808
- editingGroupId: string | null;
1809
- width: number;
1810
- height: number;
1811
- offsetTop: number;
1812
- offsetLeft: number;
1813
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
1814
- collaborators: Map<import("../types").SocketId, Readonly<{
1815
- pointer?: import("../types").CollaboratorPointer | undefined;
1816
- button?: "up" | "down" | undefined;
1817
- selectedElementIds?: Readonly<{
1818
- [id: string]: true;
1819
- }> | undefined;
1820
- username?: string | null | undefined;
1821
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1822
- color?: {
1823
- background: string;
1824
- stroke: string;
1825
- } | undefined;
1826
- avatarUrl?: string | undefined;
1827
- id?: string | undefined;
1828
- socketId?: import("../types").SocketId | undefined;
1829
- isCurrentUser?: boolean | undefined;
1830
- isInCall?: boolean | undefined;
1831
- isSpeaking?: boolean | undefined;
1832
- isMuted?: boolean | undefined;
1833
- }>>;
1834
- stats: {
1835
- open: boolean;
1836
- panels: number;
1837
- };
1838
- currentChartType: import("@excalidraw/element/types").ChartType;
1839
- pasteDialog: {
1840
- shown: false;
1841
- data: null;
1842
- } | {
1843
- shown: true;
1844
- data: import("../charts").Spreadsheet;
1845
- };
1846
- showHyperlinkPopup: false | "editor" | "info";
1847
- selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
1848
- snapLines: readonly import("../snapping").SnapLine[];
1849
- originSnapOffset: {
1850
- x: number;
1851
- y: number;
1852
- } | null;
1853
- objectsSnapModeEnabled: boolean;
1854
- userToFollow: import("../types").UserToFollow | null;
1855
- followedBy: Set<import("../types").SocketId>;
1856
- isCropping: boolean;
1857
- croppingElementId: string | null;
1858
- searchMatches: Readonly<{
1859
- focusedId: string | null;
1860
- matches: readonly import("../types").SearchMatch[];
1861
- }> | null;
1862
- activeLockedId: string | null;
1863
- lockedMultiSelections: {
1864
- [groupId: string]: true;
1865
- };
1866
- };
1867
- captureUpdate: "EVENTUALLY";
1868
- };
1869
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
1870
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1871
- } & {
1872
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
1583
+ export declare const actionToggleTheme: import("./types").Action<import("@excalidraw/element/types").Theme> & {
1584
+ keyTest?: ((event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: import("../types").AppClassProperties) => boolean) | undefined;
1873
1585
  };
1874
1586
  export declare const actionToggleEraserTool: {
1875
1587
  name: "toggleEraserTool";
@@ -1877,7 +1589,7 @@ export declare const actionToggleEraserTool: {
1877
1589
  trackEvent: {
1878
1590
  category: "toolbar";
1879
1591
  };
1880
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>) => {
1592
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
1881
1593
  appState: {
1882
1594
  selectedElementIds: {};
1883
1595
  selectedGroupIds: {};
@@ -1894,14 +1606,17 @@ export declare const actionToggleEraserTool: {
1894
1606
  } | null;
1895
1607
  showWelcomeScreen: boolean;
1896
1608
  isLoading: boolean;
1897
- errorMessage: import("react").ReactNode;
1609
+ errorMessage: React.ReactNode;
1898
1610
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
1899
1611
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1900
1612
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
1901
1613
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1902
1614
  isBindingEnabled: boolean;
1903
1615
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
1904
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1616
+ suggestedBinding: {
1617
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1618
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1619
+ } | null;
1905
1620
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
1906
1621
  frameRendering: {
1907
1622
  enabled: boolean;
@@ -1912,6 +1627,10 @@ export declare const actionToggleEraserTool: {
1912
1627
  editingFrame: string | null;
1913
1628
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
1914
1629
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1630
+ preferredSelectionTool: {
1631
+ type: "selection" | "lasso";
1632
+ initialized: boolean;
1633
+ };
1915
1634
  penMode: boolean;
1916
1635
  penDetected: boolean;
1917
1636
  exportBackground: boolean;
@@ -1920,19 +1639,19 @@ export declare const actionToggleEraserTool: {
1920
1639
  exportScale: number;
1921
1640
  currentItemStrokeColor: string;
1922
1641
  currentItemBackgroundColor: string;
1923
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1642
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
1924
1643
  currentItemStrokeWidth: number;
1925
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1644
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
1926
1645
  currentItemRoughness: number;
1927
1646
  currentItemOpacity: number;
1928
- currentItemFontFamily: number;
1647
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
1929
1648
  currentItemFontSize: number;
1930
- currentItemTextAlign: string;
1649
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
1931
1650
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1932
1651
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
1933
- currentHoveredFontFamily: number | null;
1652
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
1934
1653
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
1935
- currentItemArrowType: "round" | "sharp" | "elbow";
1654
+ currentItemArrowType: "sharp" | "round" | "elbow";
1936
1655
  viewBackgroundColor: string;
1937
1656
  scrollX: number;
1938
1657
  scrollY: number;
@@ -1941,26 +1660,26 @@ export declare const actionToggleEraserTool: {
1941
1660
  name: string | null;
1942
1661
  isResizing: boolean;
1943
1662
  isRotating: boolean;
1944
- zoom: Readonly<{
1945
- value: import("../types").NormalizedZoomValue;
1946
- }>;
1947
- openMenu: "canvas" | "shape" | null;
1948
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1663
+ zoom: import("../types").Zoom;
1664
+ openMenu: "canvas" | null;
1665
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
1949
1666
  openSidebar: {
1950
- name: string;
1951
- tab?: string | undefined;
1667
+ name: import("../types").SidebarName;
1668
+ tab?: import("../types").SidebarTabName;
1952
1669
  } | null;
1953
- openDialog: {
1670
+ openDialog: null | {
1954
1671
  name: "imageExport" | "help" | "jsonExport";
1955
1672
  } | {
1956
1673
  name: "ttd";
1957
- tab: "mermaid" | "text-to-diagram";
1674
+ tab: "text-to-diagram" | "mermaid";
1958
1675
  } | {
1959
1676
  name: "commandPalette";
1677
+ } | {
1678
+ name: "settings";
1960
1679
  } | {
1961
1680
  name: "elementLinkSelector";
1962
- sourceElementId: string;
1963
- } | null;
1681
+ sourceElementId: ExcalidrawElement["id"];
1682
+ };
1964
1683
  defaultSidebarDockedPreference: boolean;
1965
1684
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
1966
1685
  hoveredElementIds: Readonly<{
@@ -1973,8 +1692,8 @@ export declare const actionToggleEraserTool: {
1973
1692
  shouldCacheIgnoreZoom: boolean;
1974
1693
  toast: {
1975
1694
  message: string;
1976
- closable?: boolean | undefined;
1977
- duration?: number | undefined;
1695
+ closable?: boolean;
1696
+ duration?: number;
1978
1697
  } | null;
1979
1698
  zenModeEnabled: boolean;
1980
1699
  theme: import("@excalidraw/element/types").Theme;
@@ -1982,32 +1701,13 @@ export declare const actionToggleEraserTool: {
1982
1701
  gridStep: number;
1983
1702
  gridModeEnabled: boolean;
1984
1703
  viewModeEnabled: boolean;
1985
- editingGroupId: string | null;
1704
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
1986
1705
  width: number;
1987
1706
  height: number;
1988
1707
  offsetTop: number;
1989
1708
  offsetLeft: number;
1990
1709
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
1991
- collaborators: Map<import("../types").SocketId, Readonly<{
1992
- pointer?: import("../types").CollaboratorPointer | undefined;
1993
- button?: "up" | "down" | undefined;
1994
- selectedElementIds?: Readonly<{
1995
- [id: string]: true;
1996
- }> | undefined;
1997
- username?: string | null | undefined;
1998
- userState?: import("@excalidraw/common").UserIdleState | undefined;
1999
- color?: {
2000
- background: string;
2001
- stroke: string;
2002
- } | undefined;
2003
- avatarUrl?: string | undefined;
2004
- id?: string | undefined;
2005
- socketId?: import("../types").SocketId | undefined;
2006
- isCurrentUser?: boolean | undefined;
2007
- isInCall?: boolean | undefined;
2008
- isSpeaking?: boolean | undefined;
2009
- isMuted?: boolean | undefined;
2010
- }>>;
1710
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
2011
1711
  stats: {
2012
1712
  open: boolean;
2013
1713
  panels: number;
@@ -2020,7 +1720,7 @@ export declare const actionToggleEraserTool: {
2020
1720
  shown: true;
2021
1721
  data: import("../charts").Spreadsheet;
2022
1722
  };
2023
- showHyperlinkPopup: false | "editor" | "info";
1723
+ showHyperlinkPopup: false | "info" | "editor";
2024
1724
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2025
1725
  snapLines: readonly import("../snapping").SnapLine[];
2026
1726
  originSnapOffset: {
@@ -2031,15 +1731,16 @@ export declare const actionToggleEraserTool: {
2031
1731
  userToFollow: import("../types").UserToFollow | null;
2032
1732
  followedBy: Set<import("../types").SocketId>;
2033
1733
  isCropping: boolean;
2034
- croppingElementId: string | null;
1734
+ croppingElementId: ExcalidrawElement["id"] | null;
2035
1735
  searchMatches: Readonly<{
2036
- focusedId: string | null;
1736
+ focusedId: ExcalidrawElement["id"] | null;
2037
1737
  matches: readonly import("../types").SearchMatch[];
2038
1738
  }> | null;
2039
1739
  activeLockedId: string | null;
2040
1740
  lockedMultiSelections: {
2041
1741
  [groupId: string]: true;
2042
1742
  };
1743
+ bindMode: import("@excalidraw/element/types").BindMode;
2043
1744
  };
2044
1745
  captureUpdate: "IMMEDIATELY";
2045
1746
  };
@@ -2054,7 +1755,8 @@ export declare const actionToggleLassoTool: {
2054
1755
  trackEvent: {
2055
1756
  category: "toolbar";
2056
1757
  };
2057
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1758
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, props: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
1759
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
2058
1760
  appState: {
2059
1761
  selectedElementIds: {};
2060
1762
  selectedGroupIds: {};
@@ -2071,14 +1773,17 @@ export declare const actionToggleLassoTool: {
2071
1773
  } | null;
2072
1774
  showWelcomeScreen: boolean;
2073
1775
  isLoading: boolean;
2074
- errorMessage: import("react").ReactNode;
1776
+ errorMessage: React.ReactNode;
2075
1777
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
2076
1778
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2077
1779
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
2078
1780
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2079
1781
  isBindingEnabled: boolean;
2080
1782
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
2081
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1783
+ suggestedBinding: {
1784
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1785
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1786
+ } | null;
2082
1787
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2083
1788
  frameRendering: {
2084
1789
  enabled: boolean;
@@ -2089,6 +1794,10 @@ export declare const actionToggleLassoTool: {
2089
1794
  editingFrame: string | null;
2090
1795
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2091
1796
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1797
+ preferredSelectionTool: {
1798
+ type: "selection" | "lasso";
1799
+ initialized: boolean;
1800
+ };
2092
1801
  penMode: boolean;
2093
1802
  penDetected: boolean;
2094
1803
  exportBackground: boolean;
@@ -2097,19 +1806,19 @@ export declare const actionToggleLassoTool: {
2097
1806
  exportScale: number;
2098
1807
  currentItemStrokeColor: string;
2099
1808
  currentItemBackgroundColor: string;
2100
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1809
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
2101
1810
  currentItemStrokeWidth: number;
2102
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1811
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
2103
1812
  currentItemRoughness: number;
2104
1813
  currentItemOpacity: number;
2105
- currentItemFontFamily: number;
1814
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
2106
1815
  currentItemFontSize: number;
2107
- currentItemTextAlign: string;
1816
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
2108
1817
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2109
1818
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2110
- currentHoveredFontFamily: number | null;
1819
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
2111
1820
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
2112
- currentItemArrowType: "round" | "sharp" | "elbow";
1821
+ currentItemArrowType: "sharp" | "round" | "elbow";
2113
1822
  viewBackgroundColor: string;
2114
1823
  scrollX: number;
2115
1824
  scrollY: number;
@@ -2118,26 +1827,26 @@ export declare const actionToggleLassoTool: {
2118
1827
  name: string | null;
2119
1828
  isResizing: boolean;
2120
1829
  isRotating: boolean;
2121
- zoom: Readonly<{
2122
- value: import("../types").NormalizedZoomValue;
2123
- }>;
2124
- openMenu: "canvas" | "shape" | null;
2125
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1830
+ zoom: import("../types").Zoom;
1831
+ openMenu: "canvas" | null;
1832
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
2126
1833
  openSidebar: {
2127
- name: string;
2128
- tab?: string | undefined;
1834
+ name: import("../types").SidebarName;
1835
+ tab?: import("../types").SidebarTabName;
2129
1836
  } | null;
2130
- openDialog: {
1837
+ openDialog: null | {
2131
1838
  name: "imageExport" | "help" | "jsonExport";
2132
1839
  } | {
2133
1840
  name: "ttd";
2134
- tab: "mermaid" | "text-to-diagram";
1841
+ tab: "text-to-diagram" | "mermaid";
2135
1842
  } | {
2136
1843
  name: "commandPalette";
1844
+ } | {
1845
+ name: "settings";
2137
1846
  } | {
2138
1847
  name: "elementLinkSelector";
2139
- sourceElementId: string;
2140
- } | null;
1848
+ sourceElementId: ExcalidrawElement["id"];
1849
+ };
2141
1850
  defaultSidebarDockedPreference: boolean;
2142
1851
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
2143
1852
  hoveredElementIds: Readonly<{
@@ -2150,8 +1859,8 @@ export declare const actionToggleLassoTool: {
2150
1859
  shouldCacheIgnoreZoom: boolean;
2151
1860
  toast: {
2152
1861
  message: string;
2153
- closable?: boolean | undefined;
2154
- duration?: number | undefined;
1862
+ closable?: boolean;
1863
+ duration?: number;
2155
1864
  } | null;
2156
1865
  zenModeEnabled: boolean;
2157
1866
  theme: import("@excalidraw/element/types").Theme;
@@ -2159,32 +1868,13 @@ export declare const actionToggleLassoTool: {
2159
1868
  gridStep: number;
2160
1869
  gridModeEnabled: boolean;
2161
1870
  viewModeEnabled: boolean;
2162
- editingGroupId: string | null;
1871
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
2163
1872
  width: number;
2164
1873
  height: number;
2165
1874
  offsetTop: number;
2166
1875
  offsetLeft: number;
2167
1876
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
2168
- collaborators: Map<import("../types").SocketId, Readonly<{
2169
- pointer?: import("../types").CollaboratorPointer | undefined;
2170
- button?: "up" | "down" | undefined;
2171
- selectedElementIds?: Readonly<{
2172
- [id: string]: true;
2173
- }> | undefined;
2174
- username?: string | null | undefined;
2175
- userState?: import("@excalidraw/common").UserIdleState | undefined;
2176
- color?: {
2177
- background: string;
2178
- stroke: string;
2179
- } | undefined;
2180
- avatarUrl?: string | undefined;
2181
- id?: string | undefined;
2182
- socketId?: import("../types").SocketId | undefined;
2183
- isCurrentUser?: boolean | undefined;
2184
- isInCall?: boolean | undefined;
2185
- isSpeaking?: boolean | undefined;
2186
- isMuted?: boolean | undefined;
2187
- }>>;
1877
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
2188
1878
  stats: {
2189
1879
  open: boolean;
2190
1880
  panels: number;
@@ -2197,7 +1887,7 @@ export declare const actionToggleLassoTool: {
2197
1887
  shown: true;
2198
1888
  data: import("../charts").Spreadsheet;
2199
1889
  };
2200
- showHyperlinkPopup: false | "editor" | "info";
1890
+ showHyperlinkPopup: false | "info" | "editor";
2201
1891
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2202
1892
  snapLines: readonly import("../snapping").SnapLine[];
2203
1893
  originSnapOffset: {
@@ -2208,15 +1898,16 @@ export declare const actionToggleLassoTool: {
2208
1898
  userToFollow: import("../types").UserToFollow | null;
2209
1899
  followedBy: Set<import("../types").SocketId>;
2210
1900
  isCropping: boolean;
2211
- croppingElementId: string | null;
1901
+ croppingElementId: ExcalidrawElement["id"] | null;
2212
1902
  searchMatches: Readonly<{
2213
- focusedId: string | null;
1903
+ focusedId: ExcalidrawElement["id"] | null;
2214
1904
  matches: readonly import("../types").SearchMatch[];
2215
1905
  }> | null;
2216
1906
  activeLockedId: string | null;
2217
1907
  lockedMultiSelections: {
2218
1908
  [groupId: string]: true;
2219
1909
  };
1910
+ bindMode: import("@excalidraw/element/types").BindMode;
2220
1911
  };
2221
1912
  captureUpdate: "NEVER";
2222
1913
  };
@@ -2231,7 +1922,7 @@ export declare const actionToggleHandTool: {
2231
1922
  };
2232
1923
  icon: import("react/jsx-runtime").JSX.Element;
2233
1924
  viewMode: false;
2234
- perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
1925
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<AppState>, _: unknown, app: import("../types").AppClassProperties) => {
2235
1926
  appState: {
2236
1927
  selectedElementIds: {};
2237
1928
  selectedGroupIds: {};
@@ -2248,14 +1939,17 @@ export declare const actionToggleHandTool: {
2248
1939
  } | null;
2249
1940
  showWelcomeScreen: boolean;
2250
1941
  isLoading: boolean;
2251
- errorMessage: import("react").ReactNode;
1942
+ errorMessage: React.ReactNode;
2252
1943
  newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
2253
1944
  resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2254
1945
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
2255
1946
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
2256
1947
  isBindingEnabled: boolean;
2257
1948
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
2258
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
1949
+ suggestedBinding: {
1950
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
1951
+ midPoint?: import("@excalidraw/math").GlobalPoint;
1952
+ } | null;
2259
1953
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
2260
1954
  frameRendering: {
2261
1955
  enabled: boolean;
@@ -2266,6 +1960,10 @@ export declare const actionToggleHandTool: {
2266
1960
  editingFrame: string | null;
2267
1961
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
2268
1962
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
1963
+ preferredSelectionTool: {
1964
+ type: "selection" | "lasso";
1965
+ initialized: boolean;
1966
+ };
2269
1967
  penMode: boolean;
2270
1968
  penDetected: boolean;
2271
1969
  exportBackground: boolean;
@@ -2274,19 +1972,19 @@ export declare const actionToggleHandTool: {
2274
1972
  exportScale: number;
2275
1973
  currentItemStrokeColor: string;
2276
1974
  currentItemBackgroundColor: string;
2277
- currentItemFillStyle: import("@excalidraw/element/types").FillStyle;
1975
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
2278
1976
  currentItemStrokeWidth: number;
2279
- currentItemStrokeStyle: import("@excalidraw/element/types").StrokeStyle;
1977
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
2280
1978
  currentItemRoughness: number;
2281
1979
  currentItemOpacity: number;
2282
- currentItemFontFamily: number;
1980
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
2283
1981
  currentItemFontSize: number;
2284
- currentItemTextAlign: string;
1982
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
2285
1983
  currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2286
1984
  currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
2287
- currentHoveredFontFamily: number | null;
1985
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
2288
1986
  currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
2289
- currentItemArrowType: "round" | "sharp" | "elbow";
1987
+ currentItemArrowType: "sharp" | "round" | "elbow";
2290
1988
  viewBackgroundColor: string;
2291
1989
  scrollX: number;
2292
1990
  scrollY: number;
@@ -2295,26 +1993,26 @@ export declare const actionToggleHandTool: {
2295
1993
  name: string | null;
2296
1994
  isResizing: boolean;
2297
1995
  isRotating: boolean;
2298
- zoom: Readonly<{
2299
- value: import("../types").NormalizedZoomValue;
2300
- }>;
2301
- openMenu: "canvas" | "shape" | null;
2302
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
1996
+ zoom: import("../types").Zoom;
1997
+ openMenu: "canvas" | null;
1998
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
2303
1999
  openSidebar: {
2304
- name: string;
2305
- tab?: string | undefined;
2000
+ name: import("../types").SidebarName;
2001
+ tab?: import("../types").SidebarTabName;
2306
2002
  } | null;
2307
- openDialog: {
2003
+ openDialog: null | {
2308
2004
  name: "imageExport" | "help" | "jsonExport";
2309
2005
  } | {
2310
2006
  name: "ttd";
2311
- tab: "mermaid" | "text-to-diagram";
2007
+ tab: "text-to-diagram" | "mermaid";
2312
2008
  } | {
2313
2009
  name: "commandPalette";
2010
+ } | {
2011
+ name: "settings";
2314
2012
  } | {
2315
2013
  name: "elementLinkSelector";
2316
- sourceElementId: string;
2317
- } | null;
2014
+ sourceElementId: ExcalidrawElement["id"];
2015
+ };
2318
2016
  defaultSidebarDockedPreference: boolean;
2319
2017
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
2320
2018
  hoveredElementIds: Readonly<{
@@ -2327,8 +2025,8 @@ export declare const actionToggleHandTool: {
2327
2025
  shouldCacheIgnoreZoom: boolean;
2328
2026
  toast: {
2329
2027
  message: string;
2330
- closable?: boolean | undefined;
2331
- duration?: number | undefined;
2028
+ closable?: boolean;
2029
+ duration?: number;
2332
2030
  } | null;
2333
2031
  zenModeEnabled: boolean;
2334
2032
  theme: import("@excalidraw/element/types").Theme;
@@ -2336,32 +2034,13 @@ export declare const actionToggleHandTool: {
2336
2034
  gridStep: number;
2337
2035
  gridModeEnabled: boolean;
2338
2036
  viewModeEnabled: boolean;
2339
- editingGroupId: string | null;
2037
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
2340
2038
  width: number;
2341
2039
  height: number;
2342
2040
  offsetTop: number;
2343
2041
  offsetLeft: number;
2344
2042
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
2345
- collaborators: Map<import("../types").SocketId, Readonly<{
2346
- pointer?: import("../types").CollaboratorPointer | undefined;
2347
- button?: "up" | "down" | undefined;
2348
- selectedElementIds?: Readonly<{
2349
- [id: string]: true;
2350
- }> | undefined;
2351
- username?: string | null | undefined;
2352
- userState?: import("@excalidraw/common").UserIdleState | undefined;
2353
- color?: {
2354
- background: string;
2355
- stroke: string;
2356
- } | undefined;
2357
- avatarUrl?: string | undefined;
2358
- id?: string | undefined;
2359
- socketId?: import("../types").SocketId | undefined;
2360
- isCurrentUser?: boolean | undefined;
2361
- isInCall?: boolean | undefined;
2362
- isSpeaking?: boolean | undefined;
2363
- isMuted?: boolean | undefined;
2364
- }>>;
2043
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
2365
2044
  stats: {
2366
2045
  open: boolean;
2367
2046
  panels: number;
@@ -2374,7 +2053,7 @@ export declare const actionToggleHandTool: {
2374
2053
  shown: true;
2375
2054
  data: import("../charts").Spreadsheet;
2376
2055
  };
2377
- showHyperlinkPopup: false | "editor" | "info";
2056
+ showHyperlinkPopup: false | "info" | "editor";
2378
2057
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
2379
2058
  snapLines: readonly import("../snapping").SnapLine[];
2380
2059
  originSnapOffset: {
@@ -2385,15 +2064,16 @@ export declare const actionToggleHandTool: {
2385
2064
  userToFollow: import("../types").UserToFollow | null;
2386
2065
  followedBy: Set<import("../types").SocketId>;
2387
2066
  isCropping: boolean;
2388
- croppingElementId: string | null;
2067
+ croppingElementId: ExcalidrawElement["id"] | null;
2389
2068
  searchMatches: Readonly<{
2390
- focusedId: string | null;
2069
+ focusedId: ExcalidrawElement["id"] | null;
2391
2070
  matches: readonly import("../types").SearchMatch[];
2392
2071
  }> | null;
2393
2072
  activeLockedId: string | null;
2394
2073
  lockedMultiSelections: {
2395
2074
  [groupId: string]: true;
2396
2075
  };
2076
+ bindMode: import("@excalidraw/element/types").BindMode;
2397
2077
  };
2398
2078
  captureUpdate: "IMMEDIATELY";
2399
2079
  };