@excalidraw/math 0.18.0-7f66e1f → 0.18.0-816c81c

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