@mog-sdk/spreadsheet-contracts 0.1.12

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 (701) hide show
  1. package/dist/accessibility/index.d.ts +9 -0
  2. package/dist/accessibility/index.d.ts.map +1 -0
  3. package/dist/accessibility/types.d.ts +75 -0
  4. package/dist/accessibility/types.d.ts.map +1 -0
  5. package/dist/actions/comments.d.ts +31 -0
  6. package/dist/actions/comments.d.ts.map +1 -0
  7. package/dist/actions/index.d.ts +22 -0
  8. package/dist/actions/index.d.ts.map +1 -0
  9. package/dist/actions/types.d.ts +448 -0
  10. package/dist/actions/types.d.ts.map +1 -0
  11. package/dist/actors/chart.d.ts +88 -0
  12. package/dist/actors/chart.d.ts.map +1 -0
  13. package/dist/actors/clipboard.d.ts +243 -0
  14. package/dist/actors/clipboard.d.ts.map +1 -0
  15. package/dist/actors/commands.d.ts +1343 -0
  16. package/dist/actors/commands.d.ts.map +1 -0
  17. package/dist/actors/comment.d.ts +84 -0
  18. package/dist/actors/comment.d.ts.map +1 -0
  19. package/dist/actors/draw-border.d.ts +89 -0
  20. package/dist/actors/draw-border.d.ts.map +1 -0
  21. package/dist/actors/editor.d.ts +161 -0
  22. package/dist/actors/editor.d.ts.map +1 -0
  23. package/dist/actors/find-replace.d.ts +88 -0
  24. package/dist/actors/find-replace.d.ts.map +1 -0
  25. package/dist/actors/focus.d.ts +91 -0
  26. package/dist/actors/focus.d.ts.map +1 -0
  27. package/dist/actors/index.d.ts +88 -0
  28. package/dist/actors/index.d.ts.map +1 -0
  29. package/dist/actors/input.d.ts +98 -0
  30. package/dist/actors/input.d.ts.map +1 -0
  31. package/dist/actors/object-interaction.d.ts +163 -0
  32. package/dist/actors/object-interaction.d.ts.map +1 -0
  33. package/dist/actors/object.d.ts +124 -0
  34. package/dist/actors/object.d.ts.map +1 -0
  35. package/dist/actors/page-break.d.ts +64 -0
  36. package/dist/actors/page-break.d.ts.map +1 -0
  37. package/dist/actors/pane-focus.d.ts +56 -0
  38. package/dist/actors/pane-focus.d.ts.map +1 -0
  39. package/dist/actors/renderer.d.ts +197 -0
  40. package/dist/actors/renderer.d.ts.map +1 -0
  41. package/dist/actors/selection.d.ts +170 -0
  42. package/dist/actors/selection.d.ts.map +1 -0
  43. package/dist/actors/slicer.d.ts +175 -0
  44. package/dist/actors/slicer.d.ts.map +1 -0
  45. package/dist/actors/smartart.d.ts +48 -0
  46. package/dist/actors/smartart.d.ts.map +1 -0
  47. package/dist/api/index.d.ts +19 -0
  48. package/dist/api/index.d.ts.map +1 -0
  49. package/dist/api/mutation-receipt.d.ts +26 -0
  50. package/dist/api/mutation-receipt.d.ts.map +1 -0
  51. package/dist/api/types.d.ts +1542 -0
  52. package/dist/api/types.d.ts.map +1 -0
  53. package/dist/api/workbook/history.d.ts +43 -0
  54. package/dist/api/workbook/history.d.ts.map +1 -0
  55. package/dist/api/workbook/index.d.ts +17 -0
  56. package/dist/api/workbook/index.d.ts.map +1 -0
  57. package/dist/api/workbook/names.d.ts +104 -0
  58. package/dist/api/workbook/names.d.ts.map +1 -0
  59. package/dist/api/workbook/notifications.d.ts +35 -0
  60. package/dist/api/workbook/notifications.d.ts.map +1 -0
  61. package/dist/api/workbook/protection.d.ts +14 -0
  62. package/dist/api/workbook/protection.d.ts.map +1 -0
  63. package/dist/api/workbook/scenarios.d.ts +45 -0
  64. package/dist/api/workbook/scenarios.d.ts.map +1 -0
  65. package/dist/api/workbook/sheets.d.ts +74 -0
  66. package/dist/api/workbook/sheets.d.ts.map +1 -0
  67. package/dist/api/workbook/slicers.d.ts +63 -0
  68. package/dist/api/workbook/slicers.d.ts.map +1 -0
  69. package/dist/api/workbook/styles.d.ts +19 -0
  70. package/dist/api/workbook/styles.d.ts.map +1 -0
  71. package/dist/api/workbook/theme.d.ts +38 -0
  72. package/dist/api/workbook/theme.d.ts.map +1 -0
  73. package/dist/api/workbook/viewport.d.ts +85 -0
  74. package/dist/api/workbook/viewport.d.ts.map +1 -0
  75. package/dist/api/workbook.d.ts +279 -0
  76. package/dist/api/workbook.d.ts.map +1 -0
  77. package/dist/api/worksheet/bindings.d.ts +66 -0
  78. package/dist/api/worksheet/bindings.d.ts.map +1 -0
  79. package/dist/api/worksheet/changes.d.ts +60 -0
  80. package/dist/api/worksheet/changes.d.ts.map +1 -0
  81. package/dist/api/worksheet/charts.d.ts +83 -0
  82. package/dist/api/worksheet/charts.d.ts.map +1 -0
  83. package/dist/api/worksheet/collections/connector-collection.d.ts +7 -0
  84. package/dist/api/worksheet/collections/connector-collection.d.ts.map +1 -0
  85. package/dist/api/worksheet/collections/drawing-collection.d.ts +9 -0
  86. package/dist/api/worksheet/collections/drawing-collection.d.ts.map +1 -0
  87. package/dist/api/worksheet/collections/equation-collection.d.ts +8 -0
  88. package/dist/api/worksheet/collections/equation-collection.d.ts.map +1 -0
  89. package/dist/api/worksheet/collections/index.d.ts +12 -0
  90. package/dist/api/worksheet/collections/index.d.ts.map +1 -0
  91. package/dist/api/worksheet/collections/object-collection.d.ts +45 -0
  92. package/dist/api/worksheet/collections/object-collection.d.ts.map +1 -0
  93. package/dist/api/worksheet/collections/picture-collection.d.ts +8 -0
  94. package/dist/api/worksheet/collections/picture-collection.d.ts.map +1 -0
  95. package/dist/api/worksheet/collections/shape-collection.d.ts +8 -0
  96. package/dist/api/worksheet/collections/shape-collection.d.ts.map +1 -0
  97. package/dist/api/worksheet/collections/textbox-collection.d.ts +8 -0
  98. package/dist/api/worksheet/collections/textbox-collection.d.ts.map +1 -0
  99. package/dist/api/worksheet/collections/wordart-collection.d.ts +8 -0
  100. package/dist/api/worksheet/collections/wordart-collection.d.ts.map +1 -0
  101. package/dist/api/worksheet/comments.d.ts +143 -0
  102. package/dist/api/worksheet/comments.d.ts.map +1 -0
  103. package/dist/api/worksheet/conditional-formats.d.ts +101 -0
  104. package/dist/api/worksheet/conditional-formats.d.ts.map +1 -0
  105. package/dist/api/worksheet/filters.d.ts +141 -0
  106. package/dist/api/worksheet/filters.d.ts.map +1 -0
  107. package/dist/api/worksheet/form-controls.d.ts +22 -0
  108. package/dist/api/worksheet/form-controls.d.ts.map +1 -0
  109. package/dist/api/worksheet/format-mappings.d.ts +50 -0
  110. package/dist/api/worksheet/format-mappings.d.ts.map +1 -0
  111. package/dist/api/worksheet/formats.d.ts +136 -0
  112. package/dist/api/worksheet/formats.d.ts.map +1 -0
  113. package/dist/api/worksheet/handles/chart-handle.d.ts +11 -0
  114. package/dist/api/worksheet/handles/chart-handle.d.ts.map +1 -0
  115. package/dist/api/worksheet/handles/connector-handle.d.ts +9 -0
  116. package/dist/api/worksheet/handles/connector-handle.d.ts.map +1 -0
  117. package/dist/api/worksheet/handles/drawing-handle.d.ts +14 -0
  118. package/dist/api/worksheet/handles/drawing-handle.d.ts.map +1 -0
  119. package/dist/api/worksheet/handles/equation-handle.d.ts +9 -0
  120. package/dist/api/worksheet/handles/equation-handle.d.ts.map +1 -0
  121. package/dist/api/worksheet/handles/floating-object-handle.d.ts +75 -0
  122. package/dist/api/worksheet/handles/floating-object-handle.d.ts.map +1 -0
  123. package/dist/api/worksheet/handles/index.d.ts +16 -0
  124. package/dist/api/worksheet/handles/index.d.ts.map +1 -0
  125. package/dist/api/worksheet/handles/ole-object-handle.d.ts +10 -0
  126. package/dist/api/worksheet/handles/ole-object-handle.d.ts.map +1 -0
  127. package/dist/api/worksheet/handles/picture-handle.d.ts +9 -0
  128. package/dist/api/worksheet/handles/picture-handle.d.ts.map +1 -0
  129. package/dist/api/worksheet/handles/shape-handle.d.ts +11 -0
  130. package/dist/api/worksheet/handles/shape-handle.d.ts.map +1 -0
  131. package/dist/api/worksheet/handles/slicer-handle.d.ts +13 -0
  132. package/dist/api/worksheet/handles/slicer-handle.d.ts.map +1 -0
  133. package/dist/api/worksheet/handles/smartart-handle.d.ts +11 -0
  134. package/dist/api/worksheet/handles/smartart-handle.d.ts.map +1 -0
  135. package/dist/api/worksheet/handles/textbox-handle.d.ts +9 -0
  136. package/dist/api/worksheet/handles/textbox-handle.d.ts.map +1 -0
  137. package/dist/api/worksheet/handles/wordart-handle.d.ts +10 -0
  138. package/dist/api/worksheet/handles/wordart-handle.d.ts.map +1 -0
  139. package/dist/api/worksheet/hyperlinks.d.ts +52 -0
  140. package/dist/api/worksheet/hyperlinks.d.ts.map +1 -0
  141. package/dist/api/worksheet/index.d.ts +35 -0
  142. package/dist/api/worksheet/index.d.ts.map +1 -0
  143. package/dist/api/worksheet/internal.d.ts +105 -0
  144. package/dist/api/worksheet/internal.d.ts.map +1 -0
  145. package/dist/api/worksheet/layout.d.ts +150 -0
  146. package/dist/api/worksheet/layout.d.ts.map +1 -0
  147. package/dist/api/worksheet/names.d.ts +52 -0
  148. package/dist/api/worksheet/names.d.ts.map +1 -0
  149. package/dist/api/worksheet/objects.d.ts +124 -0
  150. package/dist/api/worksheet/objects.d.ts.map +1 -0
  151. package/dist/api/worksheet/outline.d.ts +101 -0
  152. package/dist/api/worksheet/outline.d.ts.map +1 -0
  153. package/dist/api/worksheet/pivots.d.ts +257 -0
  154. package/dist/api/worksheet/pivots.d.ts.map +1 -0
  155. package/dist/api/worksheet/print.d.ts +108 -0
  156. package/dist/api/worksheet/print.d.ts.map +1 -0
  157. package/dist/api/worksheet/protection.d.ts +73 -0
  158. package/dist/api/worksheet/protection.d.ts.map +1 -0
  159. package/dist/api/worksheet/settings.d.ts +54 -0
  160. package/dist/api/worksheet/settings.d.ts.map +1 -0
  161. package/dist/api/worksheet/slicers.d.ts +101 -0
  162. package/dist/api/worksheet/slicers.d.ts.map +1 -0
  163. package/dist/api/worksheet/smartart.d.ts +49 -0
  164. package/dist/api/worksheet/smartart.d.ts.map +1 -0
  165. package/dist/api/worksheet/sparklines.d.ts +143 -0
  166. package/dist/api/worksheet/sparklines.d.ts.map +1 -0
  167. package/dist/api/worksheet/structure.d.ts +44 -0
  168. package/dist/api/worksheet/structure.d.ts.map +1 -0
  169. package/dist/api/worksheet/tables.d.ts +313 -0
  170. package/dist/api/worksheet/tables.d.ts.map +1 -0
  171. package/dist/api/worksheet/validation.d.ts +101 -0
  172. package/dist/api/worksheet/validation.d.ts.map +1 -0
  173. package/dist/api/worksheet/view.d.ts +91 -0
  174. package/dist/api/worksheet/view.d.ts.map +1 -0
  175. package/dist/api/worksheet.d.ts +370 -0
  176. package/dist/api/worksheet.d.ts.map +1 -0
  177. package/dist/app/index.d.ts +17 -0
  178. package/dist/app/index.d.ts.map +1 -0
  179. package/dist/app/types.d.ts +349 -0
  180. package/dist/app/types.d.ts.map +1 -0
  181. package/dist/apps/api.d.ts +519 -0
  182. package/dist/apps/api.d.ts.map +1 -0
  183. package/dist/apps/bindings.d.ts +72 -0
  184. package/dist/apps/bindings.d.ts.map +1 -0
  185. package/dist/apps/index.d.ts +13 -0
  186. package/dist/apps/index.d.ts.map +1 -0
  187. package/dist/apps/types.d.ts +224 -0
  188. package/dist/apps/types.d.ts.map +1 -0
  189. package/dist/apps/views.d.ts +142 -0
  190. package/dist/apps/views.d.ts.map +1 -0
  191. package/dist/bridges/chart-bridge.d.ts +172 -0
  192. package/dist/bridges/chart-bridge.d.ts.map +1 -0
  193. package/dist/bridges/equation-bridge.d.ts +74 -0
  194. package/dist/bridges/equation-bridge.d.ts.map +1 -0
  195. package/dist/bridges/index.d.ts +25 -0
  196. package/dist/bridges/index.d.ts.map +1 -0
  197. package/dist/bridges/ink-recognition-bridge.d.ts +142 -0
  198. package/dist/bridges/ink-recognition-bridge.d.ts.map +1 -0
  199. package/dist/bridges/locale-bridge.d.ts +93 -0
  200. package/dist/bridges/locale-bridge.d.ts.map +1 -0
  201. package/dist/bridges/pivot-bridge.d.ts +201 -0
  202. package/dist/bridges/pivot-bridge.d.ts.map +1 -0
  203. package/dist/bridges/schema-bridge.d.ts +137 -0
  204. package/dist/bridges/schema-bridge.d.ts.map +1 -0
  205. package/dist/bridges/smartart-bridge.d.ts +217 -0
  206. package/dist/bridges/smartart-bridge.d.ts.map +1 -0
  207. package/dist/bridges/wordart-bridge.d.ts +86 -0
  208. package/dist/bridges/wordart-bridge.d.ts.map +1 -0
  209. package/dist/capabilities/errors.d.ts +16 -0
  210. package/dist/capabilities/errors.d.ts.map +1 -0
  211. package/dist/capabilities/gated-api.d.ts +355 -0
  212. package/dist/capabilities/gated-api.d.ts.map +1 -0
  213. package/dist/capabilities/grants.d.ts +239 -0
  214. package/dist/capabilities/grants.d.ts.map +1 -0
  215. package/dist/capabilities/index.d.ts +24 -0
  216. package/dist/capabilities/index.d.ts.map +1 -0
  217. package/dist/capabilities/manifest.d.ts +128 -0
  218. package/dist/capabilities/manifest.d.ts.map +1 -0
  219. package/dist/capabilities/requester.d.ts +209 -0
  220. package/dist/capabilities/requester.d.ts.map +1 -0
  221. package/dist/capabilities/scope.d.ts +55 -0
  222. package/dist/capabilities/scope.d.ts.map +1 -0
  223. package/dist/capabilities/sensitive.d.ts +279 -0
  224. package/dist/capabilities/sensitive.d.ts.map +1 -0
  225. package/dist/capabilities/taxonomy.d.ts +15 -0
  226. package/dist/capabilities/taxonomy.d.ts.map +1 -0
  227. package/dist/capabilities/types.d.ts +91 -0
  228. package/dist/capabilities/types.d.ts.map +1 -0
  229. package/dist/cells/cell-identity.d.ts +281 -0
  230. package/dist/cells/cell-identity.d.ts.map +1 -0
  231. package/dist/cells/cell-style.d.ts +67 -0
  232. package/dist/cells/cell-style.d.ts.map +1 -0
  233. package/dist/cells/formula-string.d.ts +37 -0
  234. package/dist/cells/formula-string.d.ts.map +1 -0
  235. package/dist/cells/index.d.ts +7 -0
  236. package/dist/cells/index.d.ts.map +1 -0
  237. package/dist/cells/range-ref.d.ts +77 -0
  238. package/dist/cells/range-ref.d.ts.map +1 -0
  239. package/dist/cells/rich-text.d.ts +66 -0
  240. package/dist/cells/rich-text.d.ts.map +1 -0
  241. package/dist/cells/spill.d.ts +121 -0
  242. package/dist/cells/spill.d.ts.map +1 -0
  243. package/dist/conditional-format/index.d.ts +11 -0
  244. package/dist/conditional-format/index.d.ts.map +1 -0
  245. package/dist/conditional-format/presets.d.ts +54 -0
  246. package/dist/conditional-format/presets.d.ts.map +1 -0
  247. package/dist/conditional-format/range-utils.d.ts +11 -0
  248. package/dist/conditional-format/range-utils.d.ts.map +1 -0
  249. package/dist/conditional-format/render-types.d.ts +80 -0
  250. package/dist/conditional-format/render-types.d.ts.map +1 -0
  251. package/dist/connections/api-errors.d.ts +29 -0
  252. package/dist/connections/api-errors.d.ts.map +1 -0
  253. package/dist/connections/api.d.ts +879 -0
  254. package/dist/connections/api.d.ts.map +1 -0
  255. package/dist/connections/database-bridge-types.d.ts +108 -0
  256. package/dist/connections/database-bridge-types.d.ts.map +1 -0
  257. package/dist/connections/index.d.ts +5 -0
  258. package/dist/connections/index.d.ts.map +1 -0
  259. package/dist/connections/power-query.d.ts +1 -0
  260. package/dist/connections/power-query.d.ts.map +1 -0
  261. package/dist/connections/query.d.ts +144 -0
  262. package/dist/connections/query.d.ts.map +1 -0
  263. package/dist/context-menu/index.d.ts +10 -0
  264. package/dist/context-menu/index.d.ts.map +1 -0
  265. package/dist/context-menu/types.d.ts +28 -0
  266. package/dist/context-menu/types.d.ts.map +1 -0
  267. package/dist/core/commands.d.ts +143 -0
  268. package/dist/core/commands.d.ts.map +1 -0
  269. package/dist/core/core.d.ts +943 -0
  270. package/dist/core/core.d.ts.map +1 -0
  271. package/dist/core/disposable.d.ts +30 -0
  272. package/dist/core/disposable.d.ts.map +1 -0
  273. package/dist/core/event-base.d.ts +31 -0
  274. package/dist/core/event-base.d.ts.map +1 -0
  275. package/dist/core/execution.d.ts +79 -0
  276. package/dist/core/execution.d.ts.map +1 -0
  277. package/dist/core/formatted-text.d.ts +8 -0
  278. package/dist/core/formatted-text.d.ts.map +1 -0
  279. package/dist/core/index.d.ts +10 -0
  280. package/dist/core/index.d.ts.map +1 -0
  281. package/dist/core/result.d.ts +23 -0
  282. package/dist/core/result.d.ts.map +1 -0
  283. package/dist/core/schema.d.ts +360 -0
  284. package/dist/core/schema.d.ts.map +1 -0
  285. package/dist/core/testing.d.ts +309 -0
  286. package/dist/core/testing.d.ts.map +1 -0
  287. package/dist/culture/index.d.ts +11 -0
  288. package/dist/culture/index.d.ts.map +1 -0
  289. package/dist/culture/types.d.ts +320 -0
  290. package/dist/culture/types.d.ts.map +1 -0
  291. package/dist/data/charts.d.ts +412 -0
  292. package/dist/data/charts.d.ts.map +1 -0
  293. package/dist/data/conditional-format.d.ts +188 -0
  294. package/dist/data/conditional-format.d.ts.map +1 -0
  295. package/dist/data/filter.d.ts +364 -0
  296. package/dist/data/filter.d.ts.map +1 -0
  297. package/dist/data/grouping.d.ts +170 -0
  298. package/dist/data/grouping.d.ts.map +1 -0
  299. package/dist/data/index.d.ts +12 -0
  300. package/dist/data/index.d.ts.map +1 -0
  301. package/dist/data/named-ranges.d.ts +104 -0
  302. package/dist/data/named-ranges.d.ts.map +1 -0
  303. package/dist/data/pivot.d.ts +68 -0
  304. package/dist/data/pivot.d.ts.map +1 -0
  305. package/dist/data/slicers.d.ts +417 -0
  306. package/dist/data/slicers.d.ts.map +1 -0
  307. package/dist/data/sorting.d.ts +172 -0
  308. package/dist/data/sorting.d.ts.map +1 -0
  309. package/dist/data/sparklines.d.ts +358 -0
  310. package/dist/data/sparklines.d.ts.map +1 -0
  311. package/dist/data/tables.d.ts +333 -0
  312. package/dist/data/tables.d.ts.map +1 -0
  313. package/dist/data/trace-arrows.d.ts +165 -0
  314. package/dist/data/trace-arrows.d.ts.map +1 -0
  315. package/dist/diagnostics/core.d.ts +219 -0
  316. package/dist/diagnostics/core.d.ts.map +1 -0
  317. package/dist/diagnostics/index.d.ts +9 -0
  318. package/dist/diagnostics/index.d.ts.map +1 -0
  319. package/dist/diagnostics/style.d.ts +196 -0
  320. package/dist/diagnostics/style.d.ts.map +1 -0
  321. package/dist/document/comments.d.ts +109 -0
  322. package/dist/document/comments.d.ts.map +1 -0
  323. package/dist/document/document.d.ts +182 -0
  324. package/dist/document/document.d.ts.map +1 -0
  325. package/dist/document/index.d.ts +5 -0
  326. package/dist/document/index.d.ts.map +1 -0
  327. package/dist/document/protection.d.ts +114 -0
  328. package/dist/document/protection.d.ts.map +1 -0
  329. package/dist/document/search.d.ts +202 -0
  330. package/dist/document/search.d.ts.map +1 -0
  331. package/dist/drawing/index.d.ts +8 -0
  332. package/dist/drawing/index.d.ts.map +1 -0
  333. package/dist/drawing/three-d.d.ts +171 -0
  334. package/dist/drawing/three-d.d.ts.map +1 -0
  335. package/dist/editor/drag.d.ts +178 -0
  336. package/dist/editor/drag.d.ts.map +1 -0
  337. package/dist/editor/editor.d.ts +59 -0
  338. package/dist/editor/editor.d.ts.map +1 -0
  339. package/dist/editor/form-controls.d.ts +428 -0
  340. package/dist/editor/form-controls.d.ts.map +1 -0
  341. package/dist/editor/index.d.ts +4 -0
  342. package/dist/editor/index.d.ts.map +1 -0
  343. package/dist/equation/errors.d.ts +19 -0
  344. package/dist/equation/errors.d.ts.map +1 -0
  345. package/dist/equation/index.d.ts +12 -0
  346. package/dist/equation/index.d.ts.map +1 -0
  347. package/dist/equation/omml-ast.d.ts +358 -0
  348. package/dist/equation/omml-ast.d.ts.map +1 -0
  349. package/dist/equation/templates.d.ts +26 -0
  350. package/dist/equation/templates.d.ts.map +1 -0
  351. package/dist/equation/types.d.ts +87 -0
  352. package/dist/equation/types.d.ts.map +1 -0
  353. package/dist/events/canvas-object-events.d.ts +31 -0
  354. package/dist/events/canvas-object-events.d.ts.map +1 -0
  355. package/dist/events/cell-events.d.ts +60 -0
  356. package/dist/events/cell-events.d.ts.map +1 -0
  357. package/dist/events/chart-events.d.ts +61 -0
  358. package/dist/events/chart-events.d.ts.map +1 -0
  359. package/dist/events/comment-events.d.ts +43 -0
  360. package/dist/events/comment-events.d.ts.map +1 -0
  361. package/dist/events/conditional-formatting-events.d.ts +40 -0
  362. package/dist/events/conditional-formatting-events.d.ts.map +1 -0
  363. package/dist/events/data-tools-events.d.ts +29 -0
  364. package/dist/events/data-tools-events.d.ts.map +1 -0
  365. package/dist/events/file-io-events.d.ts +39 -0
  366. package/dist/events/file-io-events.d.ts.map +1 -0
  367. package/dist/events/filter-events.d.ts +43 -0
  368. package/dist/events/filter-events.d.ts.map +1 -0
  369. package/dist/events/floating-object-events.d.ts +158 -0
  370. package/dist/events/floating-object-events.d.ts.map +1 -0
  371. package/dist/events/grouping-events.d.ts +75 -0
  372. package/dist/events/grouping-events.d.ts.map +1 -0
  373. package/dist/events/index.d.ts +129 -0
  374. package/dist/events/index.d.ts.map +1 -0
  375. package/dist/events/ink-collaboration-events.d.ts +57 -0
  376. package/dist/events/ink-collaboration-events.d.ts.map +1 -0
  377. package/dist/events/ink-events.d.ts +33 -0
  378. package/dist/events/ink-events.d.ts.map +1 -0
  379. package/dist/events/ink-recognition-events.d.ts +149 -0
  380. package/dist/events/ink-recognition-events.d.ts.map +1 -0
  381. package/dist/events/ink-stroke-events.d.ts +197 -0
  382. package/dist/events/ink-stroke-events.d.ts.map +1 -0
  383. package/dist/events/merge-events.d.ts +46 -0
  384. package/dist/events/merge-events.d.ts.map +1 -0
  385. package/dist/events/named-range-events.d.ts +24 -0
  386. package/dist/events/named-range-events.d.ts.map +1 -0
  387. package/dist/events/pivot-events.d.ts +47 -0
  388. package/dist/events/pivot-events.d.ts.map +1 -0
  389. package/dist/events/print-events.d.ts +75 -0
  390. package/dist/events/print-events.d.ts.map +1 -0
  391. package/dist/events/recalc-events.d.ts +20 -0
  392. package/dist/events/recalc-events.d.ts.map +1 -0
  393. package/dist/events/scenario-events.d.ts +37 -0
  394. package/dist/events/scenario-events.d.ts.map +1 -0
  395. package/dist/events/selection-events.d.ts +16 -0
  396. package/dist/events/selection-events.d.ts.map +1 -0
  397. package/dist/events/settings-events.d.ts +41 -0
  398. package/dist/events/settings-events.d.ts.map +1 -0
  399. package/dist/events/sheet-events.d.ts +68 -0
  400. package/dist/events/sheet-events.d.ts.map +1 -0
  401. package/dist/events/slicer-events.d.ts +47 -0
  402. package/dist/events/slicer-events.d.ts.map +1 -0
  403. package/dist/events/smartart-events.d.ts +222 -0
  404. package/dist/events/smartart-events.d.ts.map +1 -0
  405. package/dist/events/sparkline-events.d.ts +68 -0
  406. package/dist/events/sparkline-events.d.ts.map +1 -0
  407. package/dist/events/store-events.d.ts +18 -0
  408. package/dist/events/store-events.d.ts.map +1 -0
  409. package/dist/events/structure-events.d.ts +76 -0
  410. package/dist/events/structure-events.d.ts.map +1 -0
  411. package/dist/events/table-events.d.ts +99 -0
  412. package/dist/events/table-events.d.ts.map +1 -0
  413. package/dist/events/validation-events.d.ts +85 -0
  414. package/dist/events/validation-events.d.ts.map +1 -0
  415. package/dist/events/view-events.d.ts +72 -0
  416. package/dist/events/view-events.d.ts.map +1 -0
  417. package/dist/events/wordart-events.d.ts +169 -0
  418. package/dist/events/wordart-events.d.ts.map +1 -0
  419. package/dist/events.d.ts +41 -0
  420. package/dist/events.d.ts.map +1 -0
  421. package/dist/extensions/index.d.ts +9 -0
  422. package/dist/extensions/index.d.ts.map +1 -0
  423. package/dist/extensions/types.d.ts +64 -0
  424. package/dist/extensions/types.d.ts.map +1 -0
  425. package/dist/filesystem/index.d.ts +11 -0
  426. package/dist/filesystem/index.d.ts.map +1 -0
  427. package/dist/filesystem/paths.d.ts +38 -0
  428. package/dist/filesystem/paths.d.ts.map +1 -0
  429. package/dist/filesystem/permissions.d.ts +89 -0
  430. package/dist/filesystem/permissions.d.ts.map +1 -0
  431. package/dist/filesystem/types.d.ts +251 -0
  432. package/dist/filesystem/types.d.ts.map +1 -0
  433. package/dist/fill/custom-lists.d.ts +41 -0
  434. package/dist/fill/custom-lists.d.ts.map +1 -0
  435. package/dist/fill/index.d.ts +11 -0
  436. package/dist/fill/index.d.ts.map +1 -0
  437. package/dist/fill/types.d.ts +102 -0
  438. package/dist/fill/types.d.ts.map +1 -0
  439. package/dist/formatting/format-registry.d.ts +45 -0
  440. package/dist/formatting/format-registry.d.ts.map +1 -0
  441. package/dist/formatting/index.d.ts +9 -0
  442. package/dist/formatting/index.d.ts.map +1 -0
  443. package/dist/formatting/theme.d.ts +108 -0
  444. package/dist/formatting/theme.d.ts.map +1 -0
  445. package/dist/index.d.ts +49 -0
  446. package/dist/index.d.ts.map +1 -0
  447. package/dist/ink/index.d.ts +16 -0
  448. package/dist/ink/index.d.ts.map +1 -0
  449. package/dist/ink/spatial-index.d.ts +113 -0
  450. package/dist/ink/spatial-index.d.ts.map +1 -0
  451. package/dist/ink/types.d.ts +558 -0
  452. package/dist/ink/types.d.ts.map +1 -0
  453. package/dist/kernel/floating-object-manager.d.ts +68 -0
  454. package/dist/kernel/floating-object-manager.d.ts.map +1 -0
  455. package/dist/kernel/index.d.ts +12 -0
  456. package/dist/kernel/index.d.ts.map +1 -0
  457. package/dist/kernel/kernel-context.d.ts +129 -0
  458. package/dist/kernel/kernel-context.d.ts.map +1 -0
  459. package/dist/keyboard/actions.d.ts +328 -0
  460. package/dist/keyboard/actions.d.ts.map +1 -0
  461. package/dist/keyboard/binding-utils.d.ts +112 -0
  462. package/dist/keyboard/binding-utils.d.ts.map +1 -0
  463. package/dist/keyboard/customization.d.ts +121 -0
  464. package/dist/keyboard/customization.d.ts.map +1 -0
  465. package/dist/keyboard/display-utils.d.ts +9 -0
  466. package/dist/keyboard/display-utils.d.ts.map +1 -0
  467. package/dist/keyboard/excel-reference.d.ts +28 -0
  468. package/dist/keyboard/excel-reference.d.ts.map +1 -0
  469. package/dist/keyboard/index.d.ts +16 -0
  470. package/dist/keyboard/index.d.ts.map +1 -0
  471. package/dist/keyboard/input.d.ts +124 -0
  472. package/dist/keyboard/input.d.ts.map +1 -0
  473. package/dist/keyboard/physical-keys.d.ts +79 -0
  474. package/dist/keyboard/physical-keys.d.ts.map +1 -0
  475. package/dist/keyboard/shortcuts/definitions/index.d.ts +10 -0
  476. package/dist/keyboard/shortcuts/definitions/index.d.ts.map +1 -0
  477. package/dist/keyboard/shortcuts/types.d.ts +347 -0
  478. package/dist/keyboard/shortcuts/types.d.ts.map +1 -0
  479. package/dist/machines/index.d.ts +12 -0
  480. package/dist/machines/index.d.ts.map +1 -0
  481. package/dist/machines/snapshots.d.ts +160 -0
  482. package/dist/machines/snapshots.d.ts.map +1 -0
  483. package/dist/machines/types.d.ts +64 -0
  484. package/dist/machines/types.d.ts.map +1 -0
  485. package/dist/number-formats/constants.d.ts +39 -0
  486. package/dist/number-formats/constants.d.ts.map +1 -0
  487. package/dist/number-formats/index.d.ts +14 -0
  488. package/dist/number-formats/index.d.ts.map +1 -0
  489. package/dist/number-formats/locale/index.d.ts +5 -0
  490. package/dist/number-formats/locale/index.d.ts.map +1 -0
  491. package/dist/number-formats/locale/locale-defaults.d.ts +17 -0
  492. package/dist/number-formats/locale/locale-defaults.d.ts.map +1 -0
  493. package/dist/number-formats/registry.d.ts +52 -0
  494. package/dist/number-formats/registry.d.ts.map +1 -0
  495. package/dist/number-formats/types.d.ts +134 -0
  496. package/dist/number-formats/types.d.ts.map +1 -0
  497. package/dist/objects/canvas-object.d.ts +157 -0
  498. package/dist/objects/canvas-object.d.ts.map +1 -0
  499. package/dist/objects/drawing-object.d.ts +144 -0
  500. package/dist/objects/drawing-object.d.ts.map +1 -0
  501. package/dist/objects/floating-objects.d.ts +742 -0
  502. package/dist/objects/floating-objects.d.ts.map +1 -0
  503. package/dist/objects/index.d.ts +5 -0
  504. package/dist/objects/index.d.ts.map +1 -0
  505. package/dist/objects/object-bounds-reader.d.ts +25 -0
  506. package/dist/objects/object-bounds-reader.d.ts.map +1 -0
  507. package/dist/objects/object-mutator.d.ts +30 -0
  508. package/dist/objects/object-mutator.d.ts.map +1 -0
  509. package/dist/performance/index.d.ts +8 -0
  510. package/dist/performance/index.d.ts.map +1 -0
  511. package/dist/performance/profiler-types.d.ts +351 -0
  512. package/dist/performance/profiler-types.d.ts.map +1 -0
  513. package/dist/platform/identity.d.ts +24 -0
  514. package/dist/platform/identity.d.ts.map +1 -0
  515. package/dist/platform/index.d.ts +17 -0
  516. package/dist/platform/index.d.ts.map +1 -0
  517. package/dist/platform/types.d.ts +359 -0
  518. package/dist/platform/types.d.ts.map +1 -0
  519. package/dist/rendering/canvas-bridge-types.d.ts +68 -0
  520. package/dist/rendering/canvas-bridge-types.d.ts.map +1 -0
  521. package/dist/rendering/constants.d.ts +76 -0
  522. package/dist/rendering/constants.d.ts.map +1 -0
  523. package/dist/rendering/coordinates.d.ts +452 -0
  524. package/dist/rendering/coordinates.d.ts.map +1 -0
  525. package/dist/rendering/coordinator-interfaces.d.ts +163 -0
  526. package/dist/rendering/coordinator-interfaces.d.ts.map +1 -0
  527. package/dist/rendering/data-sources.d.ts +372 -0
  528. package/dist/rendering/data-sources.d.ts.map +1 -0
  529. package/dist/rendering/grid-region.d.ts +32 -0
  530. package/dist/rendering/grid-region.d.ts.map +1 -0
  531. package/dist/rendering/grid-renderer.d.ts +391 -0
  532. package/dist/rendering/grid-renderer.d.ts.map +1 -0
  533. package/dist/rendering/grouping.d.ts +21 -0
  534. package/dist/rendering/grouping.d.ts.map +1 -0
  535. package/dist/rendering/hit-test-service.d.ts +58 -0
  536. package/dist/rendering/hit-test-service.d.ts.map +1 -0
  537. package/dist/rendering/hit-test.d.ts +223 -0
  538. package/dist/rendering/hit-test.d.ts.map +1 -0
  539. package/dist/rendering/index.d.ts +25 -0
  540. package/dist/rendering/index.d.ts.map +1 -0
  541. package/dist/rendering/interactive-elements.d.ts +121 -0
  542. package/dist/rendering/interactive-elements.d.ts.map +1 -0
  543. package/dist/rendering/primitives.d.ts +17 -0
  544. package/dist/rendering/primitives.d.ts.map +1 -0
  545. package/dist/rendering/render-context.d.ts +457 -0
  546. package/dist/rendering/render-context.d.ts.map +1 -0
  547. package/dist/rendering/text-measurement-service.d.ts +197 -0
  548. package/dist/rendering/text-measurement-service.d.ts.map +1 -0
  549. package/dist/ribbon/collapse-configs.d.ts +298 -0
  550. package/dist/ribbon/collapse-configs.d.ts.map +1 -0
  551. package/dist/ribbon/collapse-types.d.ts +76 -0
  552. package/dist/ribbon/collapse-types.d.ts.map +1 -0
  553. package/dist/ribbon/index.d.ts +25 -0
  554. package/dist/ribbon/index.d.ts.map +1 -0
  555. package/dist/selection/index.d.ts +10 -0
  556. package/dist/selection/index.d.ts.map +1 -0
  557. package/dist/selection/registry.d.ts +17 -0
  558. package/dist/selection/registry.d.ts.map +1 -0
  559. package/dist/selection/types.d.ts +82 -0
  560. package/dist/selection/types.d.ts.map +1 -0
  561. package/dist/selectors/index.d.ts +8 -0
  562. package/dist/selectors/index.d.ts.map +1 -0
  563. package/dist/selectors/smart-art.d.ts +58 -0
  564. package/dist/selectors/smart-art.d.ts.map +1 -0
  565. package/dist/services/index.d.ts +273 -0
  566. package/dist/services/index.d.ts.map +1 -0
  567. package/dist/smartart/index.d.ts +26 -0
  568. package/dist/smartart/index.d.ts.map +1 -0
  569. package/dist/smartart/layouts.d.ts +193 -0
  570. package/dist/smartart/layouts.d.ts.map +1 -0
  571. package/dist/smartart/ooxml-algorithm-types.d.ts +939 -0
  572. package/dist/smartart/ooxml-algorithm-types.d.ts.map +1 -0
  573. package/dist/smartart/ooxml-data-model-types.d.ts +845 -0
  574. package/dist/smartart/ooxml-data-model-types.d.ts.map +1 -0
  575. package/dist/smartart/ooxml-drawing-types.d.ts +356 -0
  576. package/dist/smartart/ooxml-drawing-types.d.ts.map +1 -0
  577. package/dist/smartart/ooxml-engine-types.d.ts +873 -0
  578. package/dist/smartart/ooxml-engine-types.d.ts.map +1 -0
  579. package/dist/smartart/ooxml-layout-types.d.ts +405 -0
  580. package/dist/smartart/ooxml-layout-types.d.ts.map +1 -0
  581. package/dist/smartart/ooxml-style-types.d.ts +474 -0
  582. package/dist/smartart/ooxml-style-types.d.ts.map +1 -0
  583. package/dist/smartart/styles.d.ts +137 -0
  584. package/dist/smartart/styles.d.ts.map +1 -0
  585. package/dist/smartart/types.d.ts +323 -0
  586. package/dist/smartart/types.d.ts.map +1 -0
  587. package/dist/storage/capabilities.d.ts +33 -0
  588. package/dist/storage/capabilities.d.ts.map +1 -0
  589. package/dist/storage/connection.d.ts +183 -0
  590. package/dist/storage/connection.d.ts.map +1 -0
  591. package/dist/storage/index.d.ts +13 -0
  592. package/dist/storage/index.d.ts.map +1 -0
  593. package/dist/storage/query.d.ts +91 -0
  594. package/dist/storage/query.d.ts.map +1 -0
  595. package/dist/storage/table-driver.d.ts +249 -0
  596. package/dist/storage/table-driver.d.ts.map +1 -0
  597. package/dist/store/cell-schema.d.ts +235 -0
  598. package/dist/store/cell-schema.d.ts.map +1 -0
  599. package/dist/store/equation-schema.d.ts +22 -0
  600. package/dist/store/equation-schema.d.ts.map +1 -0
  601. package/dist/store/index.d.ts +33 -0
  602. package/dist/store/index.d.ts.map +1 -0
  603. package/dist/store/ink-schema.d.ts +26 -0
  604. package/dist/store/ink-schema.d.ts.map +1 -0
  605. package/dist/store/scenarios-schema.d.ts +105 -0
  606. package/dist/store/scenarios-schema.d.ts.map +1 -0
  607. package/dist/store/schema-types.d.ts +113 -0
  608. package/dist/store/schema-types.d.ts.map +1 -0
  609. package/dist/store/sheet-maps-schema.d.ts +222 -0
  610. package/dist/store/sheet-maps-schema.d.ts.map +1 -0
  611. package/dist/store/sheet-meta-schema.d.ts +16 -0
  612. package/dist/store/sheet-meta-schema.d.ts.map +1 -0
  613. package/dist/store/smartart-schema.d.ts +17 -0
  614. package/dist/store/smartart-schema.d.ts.map +1 -0
  615. package/dist/store/store-types.d.ts +381 -0
  616. package/dist/store/store-types.d.ts.map +1 -0
  617. package/dist/store/wordart-schema.d.ts +13 -0
  618. package/dist/store/wordart-schema.d.ts.map +1 -0
  619. package/dist/store/workbook-schema.d.ts +16 -0
  620. package/dist/store/workbook-schema.d.ts.map +1 -0
  621. package/dist/styles/built-in-styles.d.ts +10 -0
  622. package/dist/styles/built-in-styles.d.ts.map +1 -0
  623. package/dist/styles/index.d.ts +18 -0
  624. package/dist/styles/index.d.ts.map +1 -0
  625. package/dist/utils/a1.d.ts +12 -0
  626. package/dist/utils/a1.d.ts.map +1 -0
  627. package/dist/utils/datetime.d.ts +7 -0
  628. package/dist/utils/datetime.d.ts.map +1 -0
  629. package/dist/utils/function-registry.d.ts +40 -0
  630. package/dist/utils/function-registry.d.ts.map +1 -0
  631. package/dist/utils/index.d.ts +9 -0
  632. package/dist/utils/index.d.ts.map +1 -0
  633. package/dist/utils/protection.d.ts +9 -0
  634. package/dist/utils/protection.d.ts.map +1 -0
  635. package/dist/utils/range-navigation.d.ts +9 -0
  636. package/dist/utils/range-navigation.d.ts.map +1 -0
  637. package/dist/utils/range.d.ts +9 -0
  638. package/dist/utils/range.d.ts.map +1 -0
  639. package/dist/utils/rich-text.d.ts +9 -0
  640. package/dist/utils/rich-text.d.ts.map +1 -0
  641. package/dist/viewport/geometry.d.ts +90 -0
  642. package/dist/viewport/geometry.d.ts.map +1 -0
  643. package/dist/viewport/grid-canvas.d.ts +133 -0
  644. package/dist/viewport/grid-canvas.d.ts.map +1 -0
  645. package/dist/viewport/index.d.ts +5 -0
  646. package/dist/viewport/index.d.ts.map +1 -0
  647. package/dist/viewport/viewport-config.d.ts +95 -0
  648. package/dist/viewport/viewport-config.d.ts.map +1 -0
  649. package/dist/viewport/viewport.d.ts +191 -0
  650. package/dist/viewport/viewport.d.ts.map +1 -0
  651. package/dist/views/index.d.ts +9 -0
  652. package/dist/views/index.d.ts.map +1 -0
  653. package/dist/views/types.d.ts +161 -0
  654. package/dist/views/types.d.ts.map +1 -0
  655. package/dist/what-if/index.d.ts +2 -0
  656. package/dist/what-if/index.d.ts.map +1 -0
  657. package/dist/what-if/what-if.d.ts +152 -0
  658. package/dist/what-if/what-if.d.ts.map +1 -0
  659. package/dist/window-manager/index.d.ts +134 -0
  660. package/dist/window-manager/index.d.ts.map +1 -0
  661. package/dist/wordart/effects.d.ts +611 -0
  662. package/dist/wordart/effects.d.ts.map +1 -0
  663. package/dist/wordart/index.d.ts +17 -0
  664. package/dist/wordart/index.d.ts.map +1 -0
  665. package/dist/wordart/presets.d.ts +133 -0
  666. package/dist/wordart/presets.d.ts.map +1 -0
  667. package/dist/wordart/types.d.ts +444 -0
  668. package/dist/wordart/types.d.ts.map +1 -0
  669. package/dist/workflows/context.d.ts +777 -0
  670. package/dist/workflows/context.d.ts.map +1 -0
  671. package/dist/workflows/definition.d.ts +256 -0
  672. package/dist/workflows/definition.d.ts.map +1 -0
  673. package/dist/workflows/events.d.ts +397 -0
  674. package/dist/workflows/events.d.ts.map +1 -0
  675. package/dist/workflows/index.d.ts +19 -0
  676. package/dist/workflows/index.d.ts.map +1 -0
  677. package/dist/workflows/instance.d.ts +358 -0
  678. package/dist/workflows/instance.d.ts.map +1 -0
  679. package/dist/workflows/runtime.d.ts +287 -0
  680. package/dist/workflows/runtime.d.ts.map +1 -0
  681. package/dist/workflows/triggers.d.ts +335 -0
  682. package/dist/workflows/triggers.d.ts.map +1 -0
  683. package/dist/workflows/versioning.d.ts +245 -0
  684. package/dist/workflows/versioning.d.ts.map +1 -0
  685. package/dist/xlsx-parser/conditional-format.d.ts +137 -0
  686. package/dist/xlsx-parser/conditional-format.d.ts.map +1 -0
  687. package/dist/xlsx-parser/core.d.ts +622 -0
  688. package/dist/xlsx-parser/core.d.ts.map +1 -0
  689. package/dist/xlsx-parser/data-validation.d.ts +55 -0
  690. package/dist/xlsx-parser/data-validation.d.ts.map +1 -0
  691. package/dist/xlsx-parser/errors.d.ts +38 -0
  692. package/dist/xlsx-parser/errors.d.ts.map +1 -0
  693. package/dist/xlsx-parser/index.d.ts +17 -0
  694. package/dist/xlsx-parser/index.d.ts.map +1 -0
  695. package/dist/xlsx-parser/options.d.ts +89 -0
  696. package/dist/xlsx-parser/options.d.ts.map +1 -0
  697. package/dist/xlsx-parser/styles.d.ts +157 -0
  698. package/dist/xlsx-parser/styles.d.ts.map +1 -0
  699. package/dist/xlsx-parser/table.d.ts +170 -0
  700. package/dist/xlsx-parser/table.d.ts.map +1 -0
  701. package/package.json +410 -0
@@ -0,0 +1,1542 @@
1
+ /**
2
+ * Unified Spreadsheet API -- Shared Types
3
+ *
4
+ * Additional types needed by the unified API that don't already exist in core.
5
+ * Core types (CellValue, CellFormat, CellRange, etc.) are imported and
6
+ * re-exported so consumers can import everything from '@mog/spreadsheet-contracts/api'.
7
+ */
8
+ import type { FormulaA1 } from '../cells/formula-string';
9
+ import type { CellBorders, CellFormat, CellRange, CellValue, FormattedText } from '../core/core';
10
+ import type { CFResult } from '../data/conditional-format';
11
+ import type { ColumnFilterCriteria } from '../data/filter';
12
+ import type { SlicerSource, SlicerStyle, TimelineLevel } from '../data/slicers';
13
+ import type { TableStylePreset, TotalFunction } from '../data/tables';
14
+ import type { SpreadsheetEvent as InternalSpreadsheetEvent } from '../events';
15
+ export type { CellAddress, CellBorders, CellData, CellFormat, CellRange, CellValue, ResolvedCellFormat, SheetId, SheetInfo, } from '../core/core';
16
+ export type { SheetMeta } from '../store/store-types';
17
+ export type { PrintSettings } from '../core/core';
18
+ import type { ObjectAnchorType, ObjectFill, PictureAdjustments, PictureCrop, ShapeOutline, ShapeText, ShapeType, TextMargins } from '../objects/floating-objects';
19
+ import type { OuterShadowEffect } from '../wordart/effects';
20
+ export type { LineDash, ObjectAnchorType, ObjectFill, PictureAdjustments, PictureCrop, ShapeOutline, ShapeText, ShapeType, TextMargins, } from '../objects/floating-objects';
21
+ /**
22
+ * Shape configuration for creating/updating shapes.
23
+ *
24
+ * Uses simple integer positions (anchorRow/anchorCol) for the public API.
25
+ * Internal storage uses CellId-based ObjectPosition.
26
+ * Preserves full fidelity: gradient fills, arrowhead outlines, rich text.
27
+ */
28
+ export interface ShapeConfig {
29
+ /** Shape type (rect, ellipse, triangle, etc.) */
30
+ type: ShapeType;
31
+ /** Anchor row (0-based) */
32
+ anchorRow: number;
33
+ /** Anchor column (0-based) */
34
+ anchorCol: number;
35
+ /** X offset from anchor cell in pixels */
36
+ xOffset?: number;
37
+ /** Y offset from anchor cell in pixels */
38
+ yOffset?: number;
39
+ /** Width in pixels */
40
+ width: number;
41
+ /** Height in pixels */
42
+ height: number;
43
+ /** Absolute pixel X on the sheet. When set, Rust resolves to anchorCol + xOffset. */
44
+ pixelX?: number;
45
+ /** Absolute pixel Y on the sheet. When set, Rust resolves to anchorRow + yOffset. */
46
+ pixelY?: number;
47
+ /** Optional name for the shape */
48
+ name?: string;
49
+ /** Fill configuration (solid, gradient with stops/angle, or none) */
50
+ fill?: ObjectFill;
51
+ /** Outline/stroke configuration (with optional arrowheads) */
52
+ outline?: ShapeOutline;
53
+ /** Rich text content inside the shape (with CellFormat) */
54
+ text?: ShapeText;
55
+ /** Shadow effect */
56
+ shadow?: OuterShadowEffect;
57
+ /** Rotation angle in degrees (0-360) */
58
+ rotation?: number;
59
+ /** Whether the shape is locked */
60
+ locked?: boolean;
61
+ /** Shape-specific adjustments (e.g., cornerRadius for roundRect) */
62
+ adjustments?: Record<string, number>;
63
+ /** Whether the shape is visible (default: true). */
64
+ visible?: boolean;
65
+ /** Anchor mode: how the shape anchors to cells (twoCell/oneCell/absolute). */
66
+ anchorMode?: ObjectAnchorType;
67
+ }
68
+ /**
69
+ * Shape as returned by get/list operations.
70
+ *
71
+ * Extends ShapeConfig with identity and metadata fields.
72
+ * Same pattern as Chart extends ChartConfig.
73
+ */
74
+ export interface Shape extends ShapeConfig {
75
+ /** Unique shape ID */
76
+ id: string;
77
+ /** Sheet ID the shape belongs to */
78
+ sheetId: string;
79
+ /** Z-order within the sheet */
80
+ zIndex: number;
81
+ /** Creation timestamp (Unix ms) */
82
+ createdAt?: number;
83
+ /** Last update timestamp (Unix ms) */
84
+ updatedAt?: number;
85
+ }
86
+ export type { Chart, ChartBorder, ChartConfig, ChartType, DataLabelConfig, ImageExportOptions, SeriesConfig, } from '../data/charts';
87
+ /** A single segment of rich text content. */
88
+ export interface RichTextSegment {
89
+ text: string;
90
+ bold?: boolean;
91
+ italic?: boolean;
92
+ underline?: boolean;
93
+ strikethrough?: boolean;
94
+ color?: string;
95
+ fontName?: string;
96
+ fontSize?: number;
97
+ }
98
+ /** A cell comment (thread-aware). */
99
+ export interface Comment {
100
+ id: string;
101
+ cellId: string;
102
+ cellAddress: string;
103
+ text: string;
104
+ author: string;
105
+ threadId?: string;
106
+ resolved?: boolean;
107
+ createdAt?: number;
108
+ parentId?: string;
109
+ authorId?: string;
110
+ modifiedAt?: number;
111
+ content?: RichTextSegment[];
112
+ }
113
+ /** A cell note (simple, single string per cell). */
114
+ export interface Note {
115
+ content: string;
116
+ author: string;
117
+ cellAddress: string;
118
+ }
119
+ /** Options controlling how a cell value is interpreted when written. */
120
+ export interface CellWriteOptions {
121
+ /** If true, value is treated as a formula (prefixed with =) */
122
+ asFormula?: boolean;
123
+ }
124
+ /**
125
+ * Complete raw cell data including formula, formatting, and metadata.
126
+ *
127
+ * Unlike `CellData` from core (which is the minimal read type), `RawCellData`
128
+ * includes all optional cell metadata useful for bulk reads and LLM presentation.
129
+ */
130
+ export interface RawCellData {
131
+ /** The computed cell value */
132
+ value: CellValue;
133
+ /** The formula string with "=" prefix, if the cell contains a formula */
134
+ formula?: FormulaA1;
135
+ /** Cell formatting */
136
+ format?: CellFormat;
137
+ /** Cell borders */
138
+ borders?: CellBorders;
139
+ /** Cell comment/note text */
140
+ comment?: string;
141
+ /** Hyperlink URL */
142
+ hyperlink?: string;
143
+ /** Whether the cell is part of a merged region */
144
+ isMerged?: boolean;
145
+ /** The merged region this cell belongs to (A1 notation, e.g., "A1:B2") */
146
+ mergedRegion?: string;
147
+ }
148
+ /**
149
+ * Cell data enriched with stable CellId identity.
150
+ *
151
+ * Used by operations that need to reference cells by identity (not position),
152
+ * such as find-replace, clipboard, and cell relocation. The CellId is a CRDT-safe
153
+ * identifier that survives row/column insert/delete operations.
154
+ *
155
+ * Unlike `CellData` (position-implied), `IdentifiedCellData` includes explicit
156
+ * position and identity for flat iteration over non-empty cells in a range.
157
+ */
158
+ export interface IdentifiedCellData {
159
+ /** Stable cell identity (CRDT-safe, survives structural changes). */
160
+ cellId: string;
161
+ /** Row index (0-based). */
162
+ row: number;
163
+ /** Column index (0-based). */
164
+ col: number;
165
+ /** The computed cell value (null for empty cells). */
166
+ value: CellValue | null;
167
+ /** Formula text (e.g., "=A1+B1") when the cell contains a formula. */
168
+ formulaText?: string;
169
+ /** Pre-formatted display string (e.g., "$1,234.56" for a currency-formatted number). */
170
+ displayString: string;
171
+ }
172
+ /** Options for sorting a range of cells. */
173
+ export interface SortOptions {
174
+ /** Columns to sort by, in priority order */
175
+ columns: SortColumn[];
176
+ /** Whether the first row of the range contains headers (default: false) */
177
+ hasHeaders?: boolean;
178
+ }
179
+ /** A single column sort specification. */
180
+ export interface SortColumn {
181
+ /** Column index (0-based, relative to the sort range) */
182
+ column: number;
183
+ /** Sort direction as boolean (default: true = ascending). Use `direction` for string form. */
184
+ ascending?: boolean;
185
+ /** Sort direction as 'asc' | 'desc'. Takes precedence over `ascending` if both are set. */
186
+ direction?: 'asc' | 'desc';
187
+ /** What to sort by (default: 'value') */
188
+ sortBy?: 'value' | 'cellColor' | 'fontColor';
189
+ /** Case sensitive comparison (default: false) */
190
+ caseSensitive?: boolean;
191
+ }
192
+ /** Current auto-filter state for a sheet. */
193
+ export interface FilterState {
194
+ /** The range the auto-filter is applied to (A1 notation) */
195
+ range: string;
196
+ /** Per-column filter criteria, keyed by column index */
197
+ columns: Map<number, ColumnFilterCriteria>;
198
+ }
199
+ export type { CFAboveAverageRule, CFCellValueRule, CFColorPoint, CFColorScale, CFColorScaleRule, CFContainsBlanksRule, CFContainsErrorsRule, CFContainsTextRule, CFDataBar, CFDataBarAxisPosition, CFDataBarRule, CFDuplicateValuesRule, CFFormulaRule, CFIconSet, CFIconSetName, CFIconSetRule, CFIconThreshold, CFOperator, CFResult, CFRule, CFRuleBase, CFRuleInput, CFRuleType, CFStyle, CFTextOperator, CFTimePeriodRule, CFTop10Rule, CFValueType, ConditionalFormat, DatePeriod, } from '../data/conditional-format';
200
+ /** A data validation rule for cells. */
201
+ export interface ValidationRule {
202
+ /** Schema ID — populated when reading, optional when creating (auto-generated if omitted) */
203
+ id?: string;
204
+ /** The cell range this rule applies to in A1 notation (e.g., "A1:B5") — populated when reading */
205
+ range?: string;
206
+ /** The validation type. 'none' indicates no validation rule is set. */
207
+ type: 'none' | 'list' | 'wholeNumber' | 'decimal' | 'date' | 'time' | 'textLength' | 'custom';
208
+ /** Comparison operator */
209
+ operator?: 'equal' | 'notEqual' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'between' | 'notBetween';
210
+ /** Primary constraint value or formula */
211
+ formula1?: string | number;
212
+ /** Secondary constraint value or formula (for 'between' / 'notBetween') */
213
+ formula2?: string | number;
214
+ /** Explicit list of allowed values (for 'list' type) */
215
+ values?: string[];
216
+ /** Source reference for list validation: A1 range (e.g., "=Sheet1!A1:A10") or formula (e.g., "=INDIRECT(A1)"). Prefixed with "=" for formulas. */
217
+ listSource?: string;
218
+ /** Whether blank cells pass validation (default: true) */
219
+ allowBlank?: boolean;
220
+ /** Whether to show a dropdown arrow for list validations */
221
+ showDropdown?: boolean;
222
+ /** Whether to show an input message when the cell is selected */
223
+ showInputMessage?: boolean;
224
+ /** Title for the input message */
225
+ inputTitle?: string;
226
+ /** Body text for the input message */
227
+ inputMessage?: string;
228
+ /** Whether to show an error alert on invalid input */
229
+ showErrorAlert?: boolean;
230
+ /** Error alert style */
231
+ errorStyle?: 'stop' | 'warning' | 'information';
232
+ /** Title for the error alert */
233
+ errorTitle?: string;
234
+ /** Body text for the error alert */
235
+ errorMessage?: string;
236
+ }
237
+ /** Information about a merged cell region. */
238
+ export interface MergedRegion {
239
+ /** The merged range in A1 notation (e.g., "A1:B2") */
240
+ range: string;
241
+ /** Start row (0-based) */
242
+ startRow: number;
243
+ /** Start column (0-based) */
244
+ startCol: number;
245
+ /** End row (0-based, inclusive) */
246
+ endRow: number;
247
+ /** End column (0-based, inclusive) */
248
+ endCol: number;
249
+ }
250
+ /** Result of a goal seek operation. */
251
+ export interface GoalSeekResult {
252
+ /** Whether a solution was found */
253
+ found: boolean;
254
+ /** The value found for the changing cell (if found) */
255
+ value?: number;
256
+ /** Number of iterations performed */
257
+ iterations?: number;
258
+ }
259
+ /** Non-fatal warning attached to an operation result. */
260
+ export interface OperationWarning {
261
+ /** Machine-readable warning code */
262
+ code: string;
263
+ /** Human-readable description */
264
+ message: string;
265
+ /** Optional structured context for programmatic handling */
266
+ context?: Record<string, unknown>;
267
+ }
268
+ /** Result of a bulk setCells() operation. */
269
+ export interface SetCellsResult {
270
+ /** Number of cells successfully written */
271
+ cellsWritten: number;
272
+ /** Per-cell errors, if any (omitted when all succeed) */
273
+ errors?: Array<{
274
+ addr: string;
275
+ error: string;
276
+ }> | null;
277
+ /** Non-fatal warnings (e.g., deduplication, coercion) */
278
+ warnings?: OperationWarning[];
279
+ }
280
+ /** Result of a format set/setRange operation. */
281
+ export interface FormatChangeResult {
282
+ /** Number of cells whose formatting was changed */
283
+ cellCount: number;
284
+ }
285
+ /** Confirmation returned by clearData() and clear(). */
286
+ export interface ClearResult {
287
+ /** Number of cells in the cleared range. */
288
+ cellCount: number;
289
+ }
290
+ /** Options for creating a new table. */
291
+ export interface TableOptions {
292
+ /** Table name (auto-generated if omitted) */
293
+ name?: string;
294
+ /** Whether the first row of the range contains headers (default: true) */
295
+ hasHeaders?: boolean;
296
+ /** Table style preset name */
297
+ style?: string;
298
+ }
299
+ /** Options for the one-liner createTable() convenience method. */
300
+ export interface CreateTableOptions {
301
+ /** Column header names. */
302
+ headers: string[];
303
+ /** Data rows (each row must match headers length). */
304
+ data: CellValue[][];
305
+ /** Top-left cell address to start writing (default: "A1"). */
306
+ startCell?: string;
307
+ }
308
+ /** Information about an existing table. */
309
+ export interface TableInfo {
310
+ /** Internal table identifier (opaque string) */
311
+ id?: string;
312
+ /** Table name */
313
+ name: string;
314
+ /** Table range in A1 notation */
315
+ range: string;
316
+ /** Whether the table has a header row */
317
+ hasHeaders: boolean;
318
+ /** Table style preset name */
319
+ style?: TableStylePreset;
320
+ /** Column definitions */
321
+ columns: TableColumn[];
322
+ /** Whether the total row is visible */
323
+ showTotals?: boolean;
324
+ /** Whether first column is highlighted */
325
+ highlightFirstColumn?: boolean;
326
+ /** Whether last column is highlighted */
327
+ highlightLastColumn?: boolean;
328
+ /** Whether banded columns are shown */
329
+ showBandedColumns?: boolean;
330
+ /** Whether banded rows are shown */
331
+ showBandedRows?: boolean;
332
+ /** Whether filter buttons are shown */
333
+ showFilterButton?: boolean;
334
+ /** Whether the header row is shown (mirrors hasHeaders) */
335
+ showHeaders?: boolean;
336
+ }
337
+ /** A single column in a table. */
338
+ export interface TableColumn {
339
+ /** Column header name */
340
+ name: string;
341
+ /** Column index within the table (0-based) */
342
+ index: number;
343
+ /** Total row function type */
344
+ totalFunction?: TotalFunction;
345
+ /** Calculated column formula */
346
+ calculatedFormula?: string;
347
+ }
348
+ /** Configuration for creating or describing a pivot table. */
349
+ export interface PivotTableConfig {
350
+ /** Pivot table name */
351
+ name: string;
352
+ /** Source data range in A1 notation (e.g., "Sheet1!A1:E100") */
353
+ dataSource: string;
354
+ /** Target sheet name (defaults to a new sheet) */
355
+ targetSheet?: string;
356
+ /** Target cell address (defaults to A1) */
357
+ targetAddress?: string;
358
+ /** Field names for the row area */
359
+ rowFields?: string[];
360
+ /** Field names for the column area */
361
+ columnFields?: string[];
362
+ /** Value field configurations */
363
+ valueFields?: PivotValueField[];
364
+ /** Field names for the filter area */
365
+ filterFields?: string[];
366
+ }
367
+ /** A value field in a pivot table. */
368
+ export interface PivotValueField {
369
+ /** Source field name */
370
+ field: string;
371
+ /** Aggregation function */
372
+ aggregation: 'sum' | 'count' | 'average' | 'max' | 'min';
373
+ /** Custom label for the value field */
374
+ label?: string;
375
+ }
376
+ /**
377
+ * Handle for interacting with an existing pivot table.
378
+ *
379
+ * Returned by `worksheet.getPivotTable()`. Provides methods to query
380
+ * and modify the pivot table's field configuration.
381
+ */
382
+ export interface PivotTableHandle {
383
+ /** Unique pivot table identifier (readonly) */
384
+ readonly id: string;
385
+ /** Get the pivot table name */
386
+ getName(): string;
387
+ /** Get the current configuration including all fields */
388
+ getConfig(): PivotTableConfig;
389
+ /** Add a field to the row, column, or filter area */
390
+ addField(field: string, area: 'row' | 'column' | 'filter', position?: number): void;
391
+ /** Add a value field with aggregation */
392
+ addValueField(field: string, aggregation: PivotValueField['aggregation'], label?: string): void;
393
+ /** Remove a field by name */
394
+ removeField(fieldName: string): void;
395
+ /** Change the aggregation function of a value field */
396
+ changeAggregation(valueFieldLabel: string, newAggregation: PivotValueField['aggregation']): void;
397
+ /** Rename a value field's display label */
398
+ renameValueField(currentLabel: string, newLabel: string): void;
399
+ /** Refresh the pivot table from its data source */
400
+ refresh(): Promise<void>;
401
+ }
402
+ /** Summary information about an existing pivot table. */
403
+ export interface PivotTableInfo {
404
+ /** Pivot table name */
405
+ name: string;
406
+ /** Source data range (e.g., "Sheet1!A1:D100") */
407
+ dataSource: string;
408
+ /** Range occupied by the pivot table content */
409
+ contentArea: string;
410
+ /** Range occupied by filter dropdowns (if any) */
411
+ filterArea?: string;
412
+ /** Output anchor location as A1 reference (e.g., "G1") */
413
+ location?: string;
414
+ /** Row dimension field names */
415
+ rowFields?: string[];
416
+ /** Column dimension field names */
417
+ columnFields?: string[];
418
+ /** Value fields with aggregation info */
419
+ valueFields?: PivotValueField[];
420
+ /** Filter field names */
421
+ filterFields?: string[];
422
+ }
423
+ /** A single flat record from a pivot query result. */
424
+ export interface PivotQueryRecord {
425
+ /** Dimension values keyed by field name (e.g., { Region: "North", Year: 2021 }) */
426
+ dimensions: Record<string, CellValue>;
427
+ /** Aggregated values keyed by value field label (e.g., { "Sum of Amount": 110 }) */
428
+ values: Record<string, CellValue>;
429
+ }
430
+ /** Result of queryPivot() — flat, agent-friendly records instead of hierarchy trees. */
431
+ export interface PivotQueryResult {
432
+ /** Pivot table name */
433
+ pivotName: string;
434
+ /** Row dimension field names */
435
+ rowFields: string[];
436
+ /** Column dimension field names */
437
+ columnFields: string[];
438
+ /** Value field labels */
439
+ valueFields: string[];
440
+ /** Flat records — one per data intersection, excluding subtotals and grand totals */
441
+ records: PivotQueryRecord[];
442
+ /** Total source row count */
443
+ sourceRowCount: number;
444
+ }
445
+ /** Configuration for creating a new slicer. */
446
+ export interface SlicerConfig {
447
+ /** Name of the table to connect the slicer to */
448
+ tableName?: string;
449
+ /** Column name within the table to filter on */
450
+ columnName?: string;
451
+ /** Display name for the slicer (auto-generated if omitted) */
452
+ name?: string;
453
+ /** Position and dimensions in pixels */
454
+ position?: {
455
+ x: number;
456
+ y: number;
457
+ width: number;
458
+ height: number;
459
+ };
460
+ /** Data source connection (rich alternative to tableName/columnName) */
461
+ source?: SlicerSource;
462
+ /** Slicer caption (header text) */
463
+ caption?: string;
464
+ /** Style configuration (partial for incremental updates) */
465
+ style?: Partial<SlicerStyle>;
466
+ /** Show slicer header */
467
+ showHeader?: boolean;
468
+ /** Currently selected date range start (timeline slicers) */
469
+ selectedStartDate?: number;
470
+ /** Currently selected date range end (timeline slicers) */
471
+ selectedEndDate?: number;
472
+ /** Current aggregation level (timeline slicers) */
473
+ timelineLevel?: TimelineLevel;
474
+ }
475
+ /** Summary information about a slicer. */
476
+ export interface SlicerInfo {
477
+ /** Unique slicer ID */
478
+ id: string;
479
+ /** Display name */
480
+ name: string;
481
+ /** Connected table name */
482
+ tableName: string;
483
+ /** Connected column name */
484
+ columnName: string;
485
+ /** Source type — 'table' for table slicers, 'pivot' for pivot table slicers */
486
+ source?: {
487
+ type: 'table' | 'pivot';
488
+ };
489
+ /** Discriminator for timeline slicers (matches TimelineSlicerConfig.sourceType) */
490
+ sourceType?: 'timeline';
491
+ }
492
+ /** Full slicer state including selection and position. */
493
+ export interface Slicer extends SlicerInfo {
494
+ /** Currently selected filter items */
495
+ selectedItems: CellValue[];
496
+ /** Position and dimensions in pixels */
497
+ position: {
498
+ x: number;
499
+ y: number;
500
+ width: number;
501
+ height: number;
502
+ };
503
+ }
504
+ /** A single item in a slicer's value list. */
505
+ export interface SlicerItem {
506
+ /** The display value */
507
+ value: CellValue;
508
+ /** Whether this item is currently selected */
509
+ selected: boolean;
510
+ /** Number of matching records (if available) */
511
+ count?: number;
512
+ }
513
+ /** Granular options for sheet protection. */
514
+ export interface ProtectionOptions {
515
+ /** Allow selecting locked cells */
516
+ allowSelectLockedCells?: boolean;
517
+ /** Allow selecting unlocked cells */
518
+ allowSelectUnlockedCells?: boolean;
519
+ /** Allow formatting cells */
520
+ allowFormatCells?: boolean;
521
+ /** Allow formatting columns */
522
+ allowFormatColumns?: boolean;
523
+ /** Allow formatting rows */
524
+ allowFormatRows?: boolean;
525
+ /** Allow inserting columns */
526
+ allowInsertColumns?: boolean;
527
+ /** Allow inserting rows */
528
+ allowInsertRows?: boolean;
529
+ /** Allow inserting hyperlinks */
530
+ allowInsertHyperlinks?: boolean;
531
+ /** Allow deleting columns */
532
+ allowDeleteColumns?: boolean;
533
+ /** Allow deleting rows */
534
+ allowDeleteRows?: boolean;
535
+ /** Allow sorting */
536
+ allowSort?: boolean;
537
+ /** Allow using auto-filter */
538
+ allowAutoFilter?: boolean;
539
+ /** Allow using pivot tables */
540
+ allowPivotTables?: boolean;
541
+ }
542
+ /** Configuration for creating a what-if scenario. */
543
+ export interface ScenarioConfig {
544
+ /** Scenario name */
545
+ name: string;
546
+ /** Cell addresses that change (A1 notation) */
547
+ changingCells: string[];
548
+ /** Values for the changing cells, in the same order */
549
+ values: (string | number | boolean | null)[];
550
+ /** Optional description */
551
+ comment?: string;
552
+ }
553
+ /** A saved scenario with metadata. */
554
+ export interface Scenario extends ScenarioConfig {
555
+ /** Unique scenario ID */
556
+ id: string;
557
+ /** Creation timestamp (Unix ms) */
558
+ createdAt: number;
559
+ }
560
+ /** A saved original cell value from before scenario application. */
561
+ export interface OriginalCellValue {
562
+ sheetId: string;
563
+ cellId: string;
564
+ value: string | number | boolean | null;
565
+ /** Original formula, if the cell had one. */
566
+ formula?: string;
567
+ }
568
+ /** Result returned from applyScenario(). */
569
+ export interface ApplyScenarioResult {
570
+ /** Number of cells that were updated with scenario values. */
571
+ cellsUpdated: number;
572
+ /** CellIds that could not be found (deleted cells). */
573
+ skippedCells: string[];
574
+ /** Original values to pass to restoreScenario() later. */
575
+ originalValues: OriginalCellValue[];
576
+ }
577
+ /** Information about a defined name / named range. */
578
+ export interface NamedRangeInfo {
579
+ /** The defined name */
580
+ name: string;
581
+ /** The reference formula (e.g., "Sheet1!$A$1:$B$10") */
582
+ reference: string;
583
+ /** Scope: undefined or sheet name (undefined = workbook scope) */
584
+ scope?: string;
585
+ /** Optional descriptive comment */
586
+ comment?: string;
587
+ /** Whether the name is visible in Name Manager. Hidden names are typically system-generated. */
588
+ visible?: boolean;
589
+ }
590
+ /** Parsed reference for a named range that refers to a simple sheet!range. */
591
+ export interface NamedRangeReference {
592
+ /** The sheet name (e.g., "Sheet1") */
593
+ sheetName: string;
594
+ /** The range portion (e.g., "$A$1:$B$10") */
595
+ range: string;
596
+ }
597
+ /**
598
+ * OfficeJS-compatible type classification for a named item's value.
599
+ *
600
+ * @see https://learn.microsoft.com/en-us/javascript/api/excel/excel.nameditemtype
601
+ */
602
+ export type NamedItemType = 'String' | 'Integer' | 'Double' | 'Boolean' | 'Range' | 'Error' | 'Array';
603
+ /** Information about a saved checkpoint (version snapshot). */
604
+ export interface CheckpointInfo {
605
+ /** Unique checkpoint ID */
606
+ id: string;
607
+ /** Optional human-readable label */
608
+ label?: string;
609
+ /** Creation timestamp (Unix ms) */
610
+ timestamp: number;
611
+ }
612
+ /** Options for code execution via `workbook.executeCode()`. */
613
+ export interface ExecuteOptions {
614
+ /** Maximum execution time in milliseconds */
615
+ timeout?: number;
616
+ /** Whether to run in a sandboxed environment */
617
+ sandbox?: boolean;
618
+ }
619
+ /** Result of a code execution. */
620
+ export interface CodeResult {
621
+ /** Whether execution completed successfully */
622
+ success: boolean;
623
+ /** Captured console output */
624
+ output?: string;
625
+ /** Error message (if success is false) */
626
+ error?: string;
627
+ /** Execution duration in milliseconds */
628
+ duration?: number;
629
+ }
630
+ /** Options for the `worksheet.summarize()` method. */
631
+ export interface SummaryOptions {
632
+ /** Whether to include sample data in the summary */
633
+ includeData?: boolean;
634
+ /** Maximum number of rows to include in sample data */
635
+ maxRows?: number;
636
+ /** Maximum number of columns to include in sample data */
637
+ maxCols?: number;
638
+ }
639
+ /** Options for cell search operations. */
640
+ export interface SearchOptions {
641
+ /** Whether the search is case-sensitive */
642
+ matchCase?: boolean;
643
+ /** Whether to match the entire cell value */
644
+ entireCell?: boolean;
645
+ /** Whether to search formula text instead of computed values */
646
+ searchFormulas?: boolean;
647
+ /** Limit search to this range (A1 notation) */
648
+ range?: string;
649
+ }
650
+ /** A single search result. */
651
+ export interface SearchResult {
652
+ /** Cell address in A1 notation */
653
+ address: string;
654
+ /** The cell's display value */
655
+ value: string;
656
+ /** The cell's formula (if any) */
657
+ formula?: string;
658
+ }
659
+ /**
660
+ * Per-cell value type classification.
661
+ * Matches OfficeJS Excel.RangeValueType enum values.
662
+ */
663
+ export declare enum RangeValueType {
664
+ /** Cell is empty */
665
+ Empty = "Empty",
666
+ /** Cell contains a string */
667
+ String = "String",
668
+ /** Cell contains a number (including dates) */
669
+ Double = "Double",
670
+ /** Cell contains a boolean */
671
+ Boolean = "Boolean",
672
+ /** Cell contains an error */
673
+ Error = "Error"
674
+ }
675
+ /**
676
+ * Determines which aspects of a range to clear.
677
+ * Matches OfficeJS Excel.ClearApplyTo enum.
678
+ */
679
+ export type ClearApplyTo = 'all' | 'contents' | 'formats' | 'hyperlinks';
680
+ /**
681
+ * Number format category classification.
682
+ * Matches the FormatType enum from Rust compute-formats.
683
+ */
684
+ export declare enum NumberFormatCategory {
685
+ General = "General",
686
+ Number = "Number",
687
+ Currency = "Currency",
688
+ Accounting = "Accounting",
689
+ Date = "Date",
690
+ Time = "Time",
691
+ Percentage = "Percentage",
692
+ Fraction = "Fraction",
693
+ Scientific = "Scientific",
694
+ Text = "Text",
695
+ Special = "Special",
696
+ Custom = "Custom"
697
+ }
698
+ /** Information about a spreadsheet function (e.g., SUM, VLOOKUP). */
699
+ export interface FunctionInfo {
700
+ /** Function name (uppercase, e.g., "SUM") */
701
+ name: string;
702
+ /** Description of what the function does */
703
+ description: string;
704
+ /** Function category (e.g., "Math & Trig", "Lookup & Reference") */
705
+ category: string;
706
+ /** Syntax example (e.g., "SUM(number1, [number2], ...)") */
707
+ syntax: string;
708
+ /** Usage examples */
709
+ examples?: string[];
710
+ /** Function argument metadata for IntelliSense/argument hints */
711
+ arguments?: import('../utils/function-registry').FunctionArgument[];
712
+ }
713
+ /** A summary snapshot of the entire workbook state. */
714
+ export interface WorkbookSnapshot {
715
+ /** All sheets in the workbook */
716
+ sheets: SheetSnapshot[];
717
+ /** ID of the currently active sheet */
718
+ activeSheetId: string;
719
+ /** Total number of sheets */
720
+ sheetCount: number;
721
+ }
722
+ /** A summary snapshot of a single sheet. */
723
+ export interface SheetSnapshot {
724
+ /** Sheet ID */
725
+ id: string;
726
+ /** Sheet name */
727
+ name: string;
728
+ /** Sheet index (0-based) */
729
+ index: number;
730
+ /** Range containing all non-empty cells (A1 notation), or null if empty */
731
+ usedRange: string | null;
732
+ /** Number of cells with data */
733
+ cellCount: number;
734
+ /** Number of cells with formulas */
735
+ formulaCount: number;
736
+ /** Number of charts in this sheet */
737
+ chartCount: number;
738
+ /** Sheet dimensions */
739
+ dimensions: {
740
+ rows: number;
741
+ cols: number;
742
+ };
743
+ }
744
+ /** All spreadsheet event types that can be subscribed to via `workbook.on()`. */
745
+ export type SpreadsheetEventType = 'cellChanged' | 'rangeChanged' | 'sheetAdded' | 'sheetRemoved' | 'sheetRenamed' | 'sheetMoved' | 'activeSheetChanged' | 'selectionChanged' | 'formatChanged' | 'structureChanged' | 'tableChanged' | 'chartChanged' | 'filterChanged' | 'sortApplied' | 'undoRedoStateChanged' | 'calculationComplete' | 'protectionChanged';
746
+ /** Generic event handler. For typed subscriptions, T is the specific event type. */
747
+ export type EventHandler<T = InternalSpreadsheetEvent> = (event: T) => void;
748
+ export type { EventByType, SpreadsheetEventType as InternalEventType, SpreadsheetEvent as InternalSpreadsheetEvent, } from '../events';
749
+ /** Full protection configuration for a sheet. */
750
+ export interface ProtectionConfig {
751
+ /** Whether the sheet is protected */
752
+ isProtected: boolean;
753
+ /** Whether a password is set for protection (does not expose the hash) */
754
+ hasPasswordSet?: boolean;
755
+ /** Allow selecting locked cells */
756
+ allowSelectLockedCells?: boolean;
757
+ /** Allow selecting unlocked cells */
758
+ allowSelectUnlockedCells?: boolean;
759
+ /** Allow formatting cells */
760
+ allowFormatCells?: boolean;
761
+ /** Allow formatting columns */
762
+ allowFormatColumns?: boolean;
763
+ /** Allow formatting rows */
764
+ allowFormatRows?: boolean;
765
+ /** Allow inserting columns */
766
+ allowInsertColumns?: boolean;
767
+ /** Allow inserting rows */
768
+ allowInsertRows?: boolean;
769
+ /** Allow inserting hyperlinks */
770
+ allowInsertHyperlinks?: boolean;
771
+ /** Allow deleting columns */
772
+ allowDeleteColumns?: boolean;
773
+ /** Allow deleting rows */
774
+ allowDeleteRows?: boolean;
775
+ /** Allow sorting */
776
+ allowSort?: boolean;
777
+ /** Allow using auto-filter */
778
+ allowAutoFilter?: boolean;
779
+ /** Allow using pivot tables */
780
+ allowPivotTables?: boolean;
781
+ }
782
+ /** Sheet view options (gridlines, headings). */
783
+ export interface ViewOptions {
784
+ /** Whether gridlines are shown */
785
+ showGridlines: boolean;
786
+ /** Whether row headers are shown */
787
+ showRowHeaders: boolean;
788
+ /** Whether column headers are shown */
789
+ showColumnHeaders: boolean;
790
+ }
791
+ /** Scroll position (cell-level, not pixel-level). */
792
+ export interface ScrollPosition {
793
+ /** Top visible row index (0-based). */
794
+ topRow: number;
795
+ /** Left visible column index (0-based). */
796
+ leftCol: number;
797
+ }
798
+ /** Information about a custom table style. */
799
+ export interface TableStyleInfo {
800
+ /** Style name/ID */
801
+ name: string;
802
+ /** Display name */
803
+ displayName?: string;
804
+ /** Whether this is a built-in style */
805
+ isBuiltIn?: boolean;
806
+ }
807
+ /** Configuration for creating/updating a custom table style. */
808
+ export interface TableStyleConfig {
809
+ /** Style name */
810
+ name: string;
811
+ /** Style JSON definition */
812
+ [key: string]: unknown;
813
+ }
814
+ export type { WorkbookSettings } from '../core/core';
815
+ /** Information about a filter applied to a sheet. */
816
+ export interface FilterInfo {
817
+ /** Filter ID */
818
+ id: string;
819
+ /** The filtered range */
820
+ range?: string;
821
+ /** Per-column filter criteria */
822
+ columns?: Record<string, unknown>;
823
+ /** Table ID if this filter is associated with a table. */
824
+ tableId?: string;
825
+ /** Per-column filter criteria, keyed by column identifier. */
826
+ columnFilters?: Record<string, unknown>;
827
+ }
828
+ /** Detailed filter information including resolved numeric range and column filters. */
829
+ export interface FilterDetailInfo {
830
+ /** Filter ID */
831
+ id: string;
832
+ /** Resolved numeric range of the filter */
833
+ range: {
834
+ startRow: number;
835
+ startCol: number;
836
+ endRow: number;
837
+ endCol: number;
838
+ };
839
+ /** Per-column filter criteria, keyed by header cell ID */
840
+ columnFilters: Record<string, ColumnFilterCriteria>;
841
+ }
842
+ /** Enriched runtime state for a slicer (includes computed items, connection status). */
843
+ export interface SlicerState {
844
+ /** Computed items with selection state */
845
+ items: SlicerItem[];
846
+ /** Whether the slicer is connected to its data source */
847
+ isConnected: boolean;
848
+ /** Selected values */
849
+ selectedValues: CellValue[];
850
+ /** Timeline periods (for timeline slicers) */
851
+ periods?: TimelinePeriod[];
852
+ }
853
+ /** A period in a timeline slicer. */
854
+ export interface TimelinePeriod {
855
+ /** Period label */
856
+ label: string;
857
+ /** Period start date (ISO string) */
858
+ start: string;
859
+ /** Period end date (ISO string) */
860
+ end: string;
861
+ /** Whether this period is selected */
862
+ selected: boolean;
863
+ }
864
+ /** Aggregate values for selected cells (status bar display). */
865
+ export interface AggregateResult {
866
+ /** Sum of numeric values */
867
+ sum: number;
868
+ /** Total number of non-empty cells */
869
+ count: number;
870
+ /** Number of numeric cells */
871
+ numericCount: number;
872
+ /** Average of numeric values (null if no numeric cells) */
873
+ average: number | null;
874
+ /** Minimum numeric value (null if no numeric cells) */
875
+ min: number | null;
876
+ /** Maximum numeric value (null if no numeric cells) */
877
+ max: number | null;
878
+ }
879
+ /** Entry for batch format-values call. */
880
+ export interface FormatEntry {
881
+ /** Cell value descriptor */
882
+ value: {
883
+ type: string;
884
+ value?: unknown;
885
+ };
886
+ /** Number format code (e.g., "#,##0.00") */
887
+ formatCode: string;
888
+ }
889
+ /** Options for text-to-columns splitting. */
890
+ export interface TextToColumnsOptions {
891
+ /** Delimiter type */
892
+ delimiter: 'comma' | 'tab' | 'semicolon' | 'space' | 'custom';
893
+ /** Custom delimiter character (when delimiter is 'custom') */
894
+ customDelimiter?: string;
895
+ /** Whether to treat consecutive delimiters as one */
896
+ treatConsecutiveAsOne?: boolean;
897
+ /** Text qualifier character */
898
+ textQualifier?: '"' | "'" | 'none';
899
+ }
900
+ /** Result of a remove-duplicates operation. */
901
+ export interface RemoveDuplicatesResult {
902
+ /** Number of duplicate rows removed */
903
+ removedCount: number;
904
+ /** Number of unique rows remaining */
905
+ remainingCount: number;
906
+ }
907
+ /** Type discriminator for floating objects. Superset of Rust FloatingObjectKind (12 variants) + legacy TS-only 'wordart'. */
908
+ export type FloatingObjectType = 'shape' | 'connector' | 'picture' | 'textbox' | 'chart' | 'camera' | 'equation' | 'smartart' | 'drawing' | 'oleObject' | 'formControl' | 'slicer' | 'wordart';
909
+ /** Summary information about a floating object (returned by listFloatingObjects). */
910
+ export interface FloatingObjectInfo {
911
+ /** Unique object ID. */
912
+ id: string;
913
+ /** Object type discriminator. */
914
+ type: FloatingObjectType;
915
+ /** Optional display name. */
916
+ name?: string;
917
+ /** X position in pixels. */
918
+ x: number;
919
+ /** Y position in pixels. */
920
+ y: number;
921
+ /** Width in pixels. */
922
+ width: number;
923
+ /** Height in pixels. */
924
+ height: number;
925
+ /** Rotation angle in degrees. */
926
+ rotation?: number;
927
+ /** Flipped horizontally. */
928
+ flipH?: boolean;
929
+ /** Flipped vertically. */
930
+ flipV?: boolean;
931
+ /** Z-order index. */
932
+ zIndex?: number;
933
+ /** Whether the object is visible. */
934
+ visible?: boolean;
935
+ /** ID of the parent group (if this object is grouped). */
936
+ groupId?: string;
937
+ /** Anchor mode (twoCell/oneCell/absolute). */
938
+ anchorType?: ObjectAnchorType;
939
+ /** Alt text for accessibility. */
940
+ altText?: string;
941
+ }
942
+ /** Configuration for creating a new picture. */
943
+ export interface PictureConfig {
944
+ /** Image source: data URL, blob URL, or file path. */
945
+ src: string;
946
+ /** X position in pixels. */
947
+ x?: number;
948
+ /** Y position in pixels. */
949
+ y?: number;
950
+ /** Width in pixels (defaults to original image width). */
951
+ width?: number;
952
+ /** Height in pixels (defaults to original image height). */
953
+ height?: number;
954
+ /** Accessibility alt text. */
955
+ altText?: string;
956
+ /** Display name. */
957
+ name?: string;
958
+ /** Image crop settings (percentage from each edge). */
959
+ crop?: PictureCrop;
960
+ /** Image adjustments (brightness, contrast, transparency). */
961
+ adjustments?: PictureAdjustments;
962
+ }
963
+ /** Configuration for creating a new text box. */
964
+ export interface TextBoxConfig {
965
+ /** Initial text content. */
966
+ content: string;
967
+ /** X position in pixels. */
968
+ x?: number;
969
+ /** Y position in pixels. */
970
+ y?: number;
971
+ /** Width in pixels (default: 200). */
972
+ width?: number;
973
+ /** Height in pixels (default: 100). */
974
+ height?: number;
975
+ /** Display name. */
976
+ name?: string;
977
+ /** Text margins within the box. */
978
+ margins?: TextMargins;
979
+ }
980
+ /** Configuration for creating a new equation. */
981
+ export interface EquationConfig {
982
+ /** LaTeX source for the equation. */
983
+ latex: string;
984
+ /** X position in pixels. */
985
+ x?: number;
986
+ /** Y position in pixels. */
987
+ y?: number;
988
+ /** Width in pixels. */
989
+ width?: number;
990
+ /** Height in pixels. */
991
+ height?: number;
992
+ /** Equation style options. */
993
+ style?: EquationStyleConfig;
994
+ }
995
+ /** Styling options for an equation. */
996
+ export interface EquationStyleConfig {
997
+ /** Font family (default: 'Cambria Math'). */
998
+ fontFamily?: string;
999
+ /** Base font size in points. */
1000
+ fontSize?: number;
1001
+ /** Text color (CSS). */
1002
+ color?: string;
1003
+ /** Background color (CSS or 'transparent'). */
1004
+ backgroundColor?: string;
1005
+ /** Display mode: block (true) vs inline (false). */
1006
+ displayMode?: boolean;
1007
+ }
1008
+ /** Updates for an existing equation. */
1009
+ export interface EquationUpdates {
1010
+ /** Updated LaTeX source. */
1011
+ latex?: string;
1012
+ /** Updated OMML XML. */
1013
+ omml?: string;
1014
+ /** Updated style options. */
1015
+ style?: Partial<EquationStyleConfig>;
1016
+ }
1017
+ /** Configuration for creating new WordArt. */
1018
+ export interface WordArtConfig {
1019
+ /** Text content. */
1020
+ text: string;
1021
+ /** Preset style ID (e.g., 'fill-1', 'gradient-2'). */
1022
+ presetId?: string;
1023
+ /** X position in pixels. */
1024
+ x?: number;
1025
+ /** Y position in pixels. */
1026
+ y?: number;
1027
+ /** Width in pixels. */
1028
+ width?: number;
1029
+ /** Height in pixels. */
1030
+ height?: number;
1031
+ /** Display name. */
1032
+ name?: string;
1033
+ }
1034
+ /** Updates for existing WordArt. */
1035
+ export interface WordArtUpdates {
1036
+ /** Updated text content. */
1037
+ text?: string;
1038
+ /** Warp preset name (text geometric transformation). */
1039
+ warp?: string;
1040
+ /** Warp adjustment values. */
1041
+ warpAdjustments?: Record<string, number>;
1042
+ /** Fill configuration. */
1043
+ fill?: Record<string, unknown>;
1044
+ /** Outline configuration. */
1045
+ outline?: Record<string, unknown>;
1046
+ /** Text effects (shadow, glow, reflection, etc.). */
1047
+ effects?: Record<string, unknown>;
1048
+ /** Full WordArt configuration batch update. */
1049
+ config?: Record<string, unknown>;
1050
+ /** Text formatting update. */
1051
+ textFormat?: Record<string, unknown>;
1052
+ }
1053
+ /** Configuration for creating a new SmartArt diagram. */
1054
+ export interface SmartArtConfig {
1055
+ /** Layout ID (e.g., 'hierarchy/org-chart', 'process/basic-process'). */
1056
+ layoutId: string;
1057
+ /** X position in pixels. */
1058
+ x?: number;
1059
+ /** Y position in pixels. */
1060
+ y?: number;
1061
+ /** Width in pixels. */
1062
+ width?: number;
1063
+ /** Height in pixels. */
1064
+ height?: number;
1065
+ /** Initial nodes to create. */
1066
+ nodes?: SmartArtNodeConfig[];
1067
+ /** Display name. */
1068
+ name?: string;
1069
+ }
1070
+ /** Configuration for a SmartArt diagram node. */
1071
+ export interface SmartArtNodeConfig {
1072
+ /** Node text content. */
1073
+ text: string;
1074
+ /** Hierarchy level (0 = root). */
1075
+ level?: number;
1076
+ /** Insertion position relative to a reference node. */
1077
+ position?: 'before' | 'after' | 'child';
1078
+ /** Reference node ID for positioning. */
1079
+ referenceNodeId?: string;
1080
+ }
1081
+ /** Transform type for stroke transformations. */
1082
+ export type StrokeTransformType = 'rotate' | 'scale' | 'flip-horizontal' | 'flip-vertical';
1083
+ /** Transform parameters for stroke transformations. */
1084
+ export interface StrokeTransformParams {
1085
+ /** Transform type */
1086
+ type: StrokeTransformType;
1087
+ /** Center point X for rotation/scale */
1088
+ centerX?: number;
1089
+ /** Center point Y for rotation/scale */
1090
+ centerY?: number;
1091
+ /** Rotation angle in radians (for 'rotate') */
1092
+ angle?: number;
1093
+ /** Scale factor X (for 'scale') */
1094
+ scaleX?: number;
1095
+ /** Scale factor Y (for 'scale') */
1096
+ scaleY?: number;
1097
+ }
1098
+ /** State of all row/column groups on a sheet. */
1099
+ export interface GroupState {
1100
+ /** All row groups */
1101
+ rowGroups: any[];
1102
+ /** All column groups */
1103
+ columnGroups: any[];
1104
+ /** Maximum outline level for rows */
1105
+ maxRowLevel: number;
1106
+ /** Maximum outline level for columns */
1107
+ maxColLevel: number;
1108
+ }
1109
+ /** Configuration for the subtotal operation. */
1110
+ export interface SubtotalConfig {
1111
+ /** Column index to group by (0-based) */
1112
+ groupByColumn: number;
1113
+ /** Columns to subtotal (0-based indices) */
1114
+ subtotalColumns: number[];
1115
+ /** Aggregation function to use */
1116
+ aggregation: 'sum' | 'count' | 'average' | 'max' | 'min';
1117
+ /** Whether to replace existing subtotals */
1118
+ replace?: boolean;
1119
+ }
1120
+ /** Sort state for a filter. */
1121
+ export interface FilterSortState {
1122
+ /** Column index or header cell ID to sort by */
1123
+ column: string | number;
1124
+ /** Sort direction */
1125
+ direction: 'asc' | 'desc';
1126
+ /** Sort criteria (optional, for advanced sorting) */
1127
+ criteria?: any;
1128
+ }
1129
+ /** Full sheet settings (mirrors SheetSettings from core contracts). */
1130
+ export interface SheetSettingsInfo {
1131
+ /** Default row height in pixels */
1132
+ defaultRowHeight: number;
1133
+ /** Default column width in pixels */
1134
+ defaultColWidth: number;
1135
+ /** Whether gridlines are shown */
1136
+ showGridlines: boolean;
1137
+ /** Whether row headers are shown */
1138
+ showRowHeaders: boolean;
1139
+ /** Whether column headers are shown */
1140
+ showColumnHeaders: boolean;
1141
+ /** Whether zero values are displayed (false = blank) */
1142
+ showZeroValues: boolean;
1143
+ /** Gridline color (hex string) */
1144
+ gridlineColor: string;
1145
+ /** Whether the sheet is protected */
1146
+ isProtected: boolean;
1147
+ /** Whether the sheet uses right-to-left layout */
1148
+ rightToLeft: boolean;
1149
+ }
1150
+ /** Outline display settings for grouping. */
1151
+ export interface OutlineSettings {
1152
+ /** Whether outline symbols (+/-) are visible */
1153
+ showOutlineSymbols: boolean;
1154
+ /** Whether outline level buttons (1,2,3...) are visible */
1155
+ showOutlineLevelButtons: boolean;
1156
+ /** Whether summary rows appear below detail rows */
1157
+ summaryRowsBelow: boolean;
1158
+ /** Whether summary columns appear to the right of detail */
1159
+ summaryColumnsRight: boolean;
1160
+ }
1161
+ /** Options for updating a named range. */
1162
+ export interface NamedRangeUpdateOptions {
1163
+ /** New name (for renaming) */
1164
+ name?: string;
1165
+ /** New reference (A1-style) */
1166
+ reference?: string;
1167
+ /** New comment */
1168
+ comment?: string;
1169
+ /** Whether the name is visible in Name Manager */
1170
+ visible?: boolean;
1171
+ }
1172
+ /** Options for creating named ranges from row/column labels in a selection. */
1173
+ export interface CreateNamesFromSelectionOptions {
1174
+ /** Create names from labels in the top row of the selection. */
1175
+ top?: boolean;
1176
+ /** Create names from labels in the left column of the selection. */
1177
+ left?: boolean;
1178
+ /** Create names from labels in the bottom row of the selection. */
1179
+ bottom?: boolean;
1180
+ /** Create names from labels in the right column of the selection. */
1181
+ right?: boolean;
1182
+ }
1183
+ /** Result of a create-names-from-selection operation. */
1184
+ export interface CreateNamesResult {
1185
+ /** Number of names successfully created. */
1186
+ success: number;
1187
+ /** Number of names skipped (already exist or invalid). */
1188
+ skipped: number;
1189
+ }
1190
+ /** An entry in the undo history. */
1191
+ export interface UndoHistoryEntry {
1192
+ /** Unique identifier for this entry. */
1193
+ id: string;
1194
+ /** Description of the operation. */
1195
+ description: string;
1196
+ /** Timestamp of the operation (Unix ms). */
1197
+ timestamp: number;
1198
+ }
1199
+ /** Full undo/redo state from the compute engine. */
1200
+ export interface UndoState {
1201
+ /** Whether undo is available. */
1202
+ canUndo: boolean;
1203
+ /** Whether redo is available. */
1204
+ canRedo: boolean;
1205
+ /** Number of operations that can be undone. */
1206
+ undoDepth: number;
1207
+ /** Number of operations that can be redone. */
1208
+ redoDepth: number;
1209
+ }
1210
+ /** Column mapping for a sheet data binding. */
1211
+ export interface ColumnMapping {
1212
+ /** Column index to write to (0-indexed) */
1213
+ columnIndex: number;
1214
+ /** JSONPath or field name to extract from data */
1215
+ dataPath: string;
1216
+ /** Optional transform formula (receives value as input) */
1217
+ transform?: string;
1218
+ /** Header text (if headerRow >= 0) */
1219
+ headerText?: string;
1220
+ }
1221
+ /** Configuration for creating a sheet data binding. */
1222
+ export interface CreateBindingConfig {
1223
+ /** Connection providing the data */
1224
+ connectionId: string;
1225
+ /** Maps data fields to columns */
1226
+ columnMappings: ColumnMapping[];
1227
+ /** Auto-insert/delete rows to match data length (default: true) */
1228
+ autoGenerateRows?: boolean;
1229
+ /** Row index for headers (-1 = no header row, default: 0) */
1230
+ headerRow?: number;
1231
+ /** First row of data (0-indexed, default: 1) */
1232
+ dataStartRow?: number;
1233
+ /** Preserve header row formatting on refresh (default: true) */
1234
+ preserveHeaderFormatting?: boolean;
1235
+ }
1236
+ /** Information about an existing sheet data binding. */
1237
+ export interface SheetDataBindingInfo {
1238
+ /** Unique binding identifier */
1239
+ id: string;
1240
+ /** Connection providing the data */
1241
+ connectionId: string;
1242
+ /** Maps data fields to columns */
1243
+ columnMappings: ColumnMapping[];
1244
+ /** Auto-insert/delete rows to match data length */
1245
+ autoGenerateRows: boolean;
1246
+ /** Row index for headers (-1 = no header row) */
1247
+ headerRow: number;
1248
+ /** First row of data (0-indexed) */
1249
+ dataStartRow: number;
1250
+ /** Preserve header row formatting on refresh */
1251
+ preserveHeaderFormatting: boolean;
1252
+ /** Last refresh timestamp */
1253
+ lastRefresh?: number;
1254
+ }
1255
+ /**
1256
+ * Cell data from the viewport buffer (sync, pre-fetched for 60fps rendering).
1257
+ *
1258
+ * Produced by BinaryViewportBuffer's CellAccessor. Fields match the binary
1259
+ * cell record layout. Fields not in the binary record (cellId, editText,
1260
+ * hyperlinkUrl) are optional — use async Worksheet APIs for those.
1261
+ */
1262
+ export interface ViewportCellData {
1263
+ row: number;
1264
+ col: number;
1265
+ /**
1266
+ * Typed cell value: number for numbers, string for text, boolean for booleans,
1267
+ * CellError for errors, null for empty cells.
1268
+ */
1269
+ value: CellValue;
1270
+ /** Cell ID (CRDT identifier). Not in binary record — only populated by legacy path. */
1271
+ cellId?: string;
1272
+ /** Display text (formatted value as string). */
1273
+ displayText: FormattedText | null;
1274
+ /** Whether the cell contains a formula. */
1275
+ hasFormula: boolean;
1276
+ /** Whether the cell has a comment indicator. */
1277
+ hasComment: boolean;
1278
+ /** Whether the cell has a sparkline. */
1279
+ hasSparkline: boolean;
1280
+ /** Whether the cell has a hyperlink. */
1281
+ hasHyperlink: boolean;
1282
+ /** Error text if the cell is in error state. */
1283
+ error?: string;
1284
+ /** Edit text (raw input string for editor). Not in binary record. */
1285
+ editText?: string;
1286
+ /** Hyperlink URL. Not in binary record — use hasHyperlink flag + async API. */
1287
+ hyperlinkUrl?: string;
1288
+ /** Cell format from the binary format palette. */
1289
+ format?: unknown;
1290
+ /** Schema type for this cell (e.g., 'boolean' for checkbox cells). Not always populated. */
1291
+ schema_type?: string;
1292
+ }
1293
+ /**
1294
+ * Active cell data for formula bar, editors, and status bar.
1295
+ *
1296
+ * Produced by ComputeBridge.getActiveCellData(). Field names match the
1297
+ * generated ActiveCellData type from compute-types.gen.ts.
1298
+ */
1299
+ export interface ActiveCellInfo {
1300
+ cellId: string;
1301
+ value: CellValue;
1302
+ formula?: string;
1303
+ format?: unknown;
1304
+ metadata?: unknown;
1305
+ editText?: string;
1306
+ isFormulaHidden: boolean;
1307
+ hyperlinkUrl?: string;
1308
+ numberFormat?: string;
1309
+ }
1310
+ /** Merge region within the viewport. Wire type from Rust. */
1311
+ export interface ViewportMergeRegion {
1312
+ start_row: number;
1313
+ start_col: number;
1314
+ end_row: number;
1315
+ end_col: number;
1316
+ }
1317
+ /** Row dimension data from viewport. Wire type from Rust. */
1318
+ export interface ViewportRowDimension {
1319
+ row: number;
1320
+ height: number;
1321
+ hidden: boolean;
1322
+ }
1323
+ /** Column dimension data from viewport. Wire type from Rust. */
1324
+ export interface ViewportColDimension {
1325
+ col: number;
1326
+ width: number;
1327
+ hidden: boolean;
1328
+ }
1329
+ /** The visible cell range bounds for the viewport. */
1330
+ export interface ViewportBounds {
1331
+ sheetId: string;
1332
+ startRow: number;
1333
+ startCol: number;
1334
+ endRow: number;
1335
+ endCol: number;
1336
+ }
1337
+ /** Binary cell data for zero-copy canvas rendering. */
1338
+ export interface BinaryCellData {
1339
+ row: number;
1340
+ col: number;
1341
+ /** Raw binary payload for direct rendering. */
1342
+ data?: ArrayBuffer;
1343
+ }
1344
+ /**
1345
+ * Binary viewport reader for ultra-fast canvas rendering.
1346
+ * Reads from an ArrayBuffer-based representation (zero-copy on WASM path).
1347
+ */
1348
+ export interface BinaryViewportReader {
1349
+ /** Read cell data from binary buffer. */
1350
+ getCellData(row: number, col: number): BinaryCellData | null;
1351
+ /** Get the underlying binary buffer for direct canvas rendering. */
1352
+ getBuffer(): ArrayBuffer | null;
1353
+ /** Check if binary data is available for this viewport. */
1354
+ isReady(): boolean;
1355
+ }
1356
+ /**
1357
+ * Duck-typed binary cell reader for the canvas cells layer hot path.
1358
+ * Matches the flyweight CellAccessor shape from the kernel's BinaryViewportBuffer.
1359
+ * Duck-typed to avoid hard dependency from contracts to kernel.
1360
+ */
1361
+ export interface BinaryCellReader {
1362
+ moveTo(row: number, col: number): boolean;
1363
+ readonly valueType: number;
1364
+ readonly numberValue: number;
1365
+ readonly displayText: FormattedText | null;
1366
+ readonly errorText: string | null;
1367
+ readonly format: CellFormat;
1368
+ readonly hasFormula: boolean;
1369
+ readonly hasComment: boolean;
1370
+ readonly hasSparkline: boolean;
1371
+ readonly hasHyperlink: boolean;
1372
+ readonly isCheckbox: boolean;
1373
+ readonly isProjectedPosition: boolean;
1374
+ readonly hasValidationError: boolean;
1375
+ }
1376
+ /**
1377
+ * Sync viewport reader for 60fps render paths.
1378
+ *
1379
+ * Read-only interface over the pre-populated viewport buffer.
1380
+ * All methods are synchronous — the buffer is populated from Rust via async
1381
+ * IPC, but reads are O(1) lookups into the local cache.
1382
+ *
1383
+ * Replaces direct `ctx.viewportBuffer` access in the app layer (48 files).
1384
+ */
1385
+ export interface ViewportReader {
1386
+ /** Get cell data for a visible cell (sync, O(1)). Returns null if outside viewport. */
1387
+ getCellData(row: number, col: number): ViewportCellData | null;
1388
+ /** Get data for the active cell (formula bar, editors). */
1389
+ getActiveCellData(): ActiveCellInfo | null;
1390
+ /** Get all merge regions visible in the viewport. */
1391
+ getMerges(): ViewportMergeRegion[];
1392
+ /** Check if a cell has a comment indicator. */
1393
+ hasComment(row: number, col: number): boolean;
1394
+ /** Get row dimension (height, hidden state) for a visible row. */
1395
+ getRowDimension(row: number): ViewportRowDimension | null;
1396
+ /** Get column dimension (width, hidden state) for a visible column. */
1397
+ getColDimension(col: number): ViewportColDimension | null;
1398
+ /** Get the current viewport bounds, or null if not yet populated. */
1399
+ getBounds(): ViewportBounds | null;
1400
+ /** Binary transfer path for ultra-fast rendering. */
1401
+ readonly binary: BinaryViewportReader;
1402
+ /**
1403
+ * Binary cell reader (flyweight accessor for renderer).
1404
+ * Duck-typed to avoid leaking kernel class references.
1405
+ */
1406
+ readonly binaryCellReader: BinaryCellReader | null;
1407
+ /**
1408
+ * Per-viewport binary cell reader resolver (Phase 6).
1409
+ * Returns a flyweight accessor for the given viewport's binary buffer.
1410
+ * Duck-typed to avoid leaking kernel class references.
1411
+ */
1412
+ readonly binaryCellReaderForViewport?: (viewportId: string) => BinaryCellReader | undefined;
1413
+ }
1414
+ /**
1415
+ * A RecordValues is a map of field (column) IDs to their values.
1416
+ * This is the computed/display value, not raw formula text.
1417
+ */
1418
+ export type RecordValues = {
1419
+ [key: string]: CellValue;
1420
+ };
1421
+ /**
1422
+ * A TableRecord represents a row in a table with its values.
1423
+ */
1424
+ export interface TableRecord {
1425
+ /** The record's row ID (row index as string, e.g., "5") */
1426
+ rowId: string;
1427
+ /** The record's field values (keyed by column ID or column name) */
1428
+ values: RecordValues;
1429
+ }
1430
+ /**
1431
+ * Filter expression for querying records.
1432
+ * Currently supports simple equality filters.
1433
+ */
1434
+ export interface FilterExpression {
1435
+ /** Field to filter on (column ID or column name) */
1436
+ field: string;
1437
+ /** Value to match (exact equality) */
1438
+ equals: CellValue;
1439
+ }
1440
+ /**
1441
+ * Records API — table-aware CRUD operations.
1442
+ *
1443
+ * Provides record (row) operations for table-based views like Kanban, Gallery, etc.
1444
+ * A "Record" is a row in a table, with each column representing a field.
1445
+ *
1446
+ * Available on `workbook.records`. Wraps the kernel Records module,
1447
+ * hiding the DocumentContext from app-layer consumers.
1448
+ */
1449
+ export interface IRecordsAPI {
1450
+ /** Get a single record by row ID. */
1451
+ get(tableId: string, rowId: string): Promise<TableRecord | null>;
1452
+ /** Query records in a table with optional filtering. */
1453
+ query(tableId: string, filter?: FilterExpression): Promise<TableRecord[]>;
1454
+ /** Get a single field value from a record. */
1455
+ getFieldValue(tableId: string, rowId: string, fieldId: string): Promise<CellValue>;
1456
+ /** Create a new record in the table. Returns the new record's row ID. */
1457
+ create(tableId: string, values: RecordValues): Promise<string>;
1458
+ /** Update a record's field values. */
1459
+ update(tableId: string, rowId: string, changes: Partial<RecordValues>): Promise<void>;
1460
+ /** Delete a record from the table (clears the row's cells). */
1461
+ del(tableId: string, rowId: string): Promise<void>;
1462
+ }
1463
+ /**
1464
+ * Coarse sheet-level event types for `ws.on()`.
1465
+ *
1466
+ * Each coarse type maps to one or more fine-grained internal events.
1467
+ * Callers that need fine-grained control can use SpreadsheetEventType
1468
+ * as an escape hatch: `ws.on('filter:applied', handler)`.
1469
+ */
1470
+ export type SheetEvent = 'cellChanged' | 'filterChanged' | 'visibilityChanged' | 'structureChanged' | 'mergeChanged' | 'tableChanged' | 'chartChanged' | 'slicerChanged' | 'sparklineChanged' | 'groupingChanged' | 'cfChanged' | 'viewportRefreshed' | 'recalcComplete' | 'nameChanged' | 'selectionChanged' | 'activated' | 'deactivated';
1471
+ /**
1472
+ * Coarse workbook-level event types for `wb.on()`.
1473
+ *
1474
+ * These events are not sheet-scoped — they fire once for the whole workbook.
1475
+ */
1476
+ export type WorkbookEvent = 'sheetAdded' | 'sheetRemoved' | 'sheetRenamed' | 'activeSheetChanged' | 'undoStackChanged' | 'checkpointCreated' | 'namedRangeChanged' | 'scenarioChanged' | 'settingsChanged';
1477
+ /**
1478
+ * Calculation type for `calculate()`.
1479
+ * - 'recalculate' — recalculate dirty cells only (default)
1480
+ * - 'full' — recalculate all cells
1481
+ * - 'fullRebuild' — rebuild dependency graph and recalculate all
1482
+ */
1483
+ export type CalculationType = 'recalculate' | 'full' | 'fullRebuild';
1484
+ /**
1485
+ * Reactive conditional format cache.
1486
+ *
1487
+ * Provides sync reads for the render path and auto-invalidates when CF rules
1488
+ * or cell values change. Created lazily by `ws.conditionalFormats`.
1489
+ *
1490
+ * Lifecycle: implements `destroy()` for subscription teardown.
1491
+ * `WorksheetImpl.dispose()` calls `destroy()` to prevent memory leaks.
1492
+ */
1493
+ export interface ConditionalFormatCache {
1494
+ /** Get the CF result for a cell (sync, O(1)). Returns undefined if no CF applies. */
1495
+ getResult(sheetId: string, row: number, col: number): CFResult | undefined;
1496
+ /** Check if a cell has conditional formatting. */
1497
+ hasCF(sheetId: string, row: number, col: number): boolean;
1498
+ /** Force re-evaluation of all CF rules for a sheet. */
1499
+ evaluateAll(sheetId: string): Promise<void>;
1500
+ /** Invalidate cached results for specific cells. */
1501
+ invalidateCells(sheetId: string, changedCells?: Array<{
1502
+ row: number;
1503
+ col: number;
1504
+ }>): Promise<void>;
1505
+ /** Invalidate all cached results. */
1506
+ invalidateAll(): void;
1507
+ /** Subscribe to rule changes. Returns unsubscribe function. */
1508
+ onRulesChanged(callback: () => void): () => void;
1509
+ /** Tear down subscriptions and release resources. */
1510
+ destroy(): void;
1511
+ }
1512
+ /**
1513
+ * Reactive cell metadata cache.
1514
+ *
1515
+ * Provides sync reads for projection (dynamic array spill) data and
1516
+ * validation error indicators. Auto-invalidates on recalc. Created lazily
1517
+ * by `ws.cellMetadata`.
1518
+ *
1519
+ * Lifecycle: implements `destroy()` for subscription teardown.
1520
+ */
1521
+ export interface CellMetadataCache {
1522
+ /** Check if a cell position is a projected (spill target) position. */
1523
+ isProjectedPosition(row: number, col: number): boolean;
1524
+ /** Get the source cell of a projection. */
1525
+ getProjectionSourcePosition(row: number, col: number): {
1526
+ row: number;
1527
+ col: number;
1528
+ } | undefined;
1529
+ /** Get the full range of a projection (dynamic array spill range). */
1530
+ getProjectionRange(row: number, col: number): CellRange | undefined;
1531
+ /** Check if a cell has validation errors. */
1532
+ hasValidationErrors(row: number, col: number): boolean;
1533
+ /** Evaluate metadata for the visible viewport range. */
1534
+ evaluateViewport(sheetId: string, startRow: number, startCol: number, endRow: number, endCol: number): Promise<void>;
1535
+ /** Subscribe to metadata changes. Returns unsubscribe function. */
1536
+ onChange(callback: () => void): () => void;
1537
+ /** Clear all cached data. */
1538
+ clear(): void;
1539
+ /** Tear down subscriptions and release resources. */
1540
+ destroy(): void;
1541
+ }
1542
+ //# sourceMappingURL=types.d.ts.map