@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,364 @@
1
+ /**
2
+ * Filter Contracts - Type definitions for spreadsheet filtering.
3
+ *
4
+ * Layer 0: Filter State Foundation (Cell Identity Model)
5
+ *
6
+ * This module defines the filter state schema and interfaces for
7
+ * AutoFilter, Table Filters, and Advanced Filters. The filter system
8
+ * uses a bridge pattern: filter criteria determines which rows should
9
+ * be hidden, but actual visibility is controlled by the existing
10
+ * hiddenRows infrastructure.
11
+ *
12
+ * ARCHITECTURE (Cell Identity Model):
13
+ *
14
+ * Filter ranges are defined by CellId corner references, NOT position-based
15
+ * CellRange. This follows the same pattern as:
16
+ * - IdentityRangeRef (formulas)
17
+ * - IdentityRangeSchemaRef (data validation)
18
+ * - IdentityMergedRegion (merged cells)
19
+ *
20
+ * Why CellId-based?
21
+ * - Survives row/col insert/delete (positions change, CellIds stable)
22
+ * - CRDT-safe for concurrent structure changes
23
+ * - Matches the Cell Identity Model used throughout the codebase
24
+ *
25
+ * Bridge pattern:
26
+ * FilterState (CellId-based) → Resolve Positions → Evaluate → hideRows() → hiddenRows → Render
27
+ *
28
+ * Single source of truth:
29
+ * - Row visibility: hiddenRows Y.Array<number> (position-based, transient render state)
30
+ * - Filter state: filters Y.Map<FilterState> (CellId-based, durable definition)
31
+ *
32
+ * @see docs/architecture/cell-identity.md
33
+ */
34
+ import type { CellId } from '../cells/cell-identity';
35
+ import type { CellRange, CellValue } from '../core/core';
36
+ import type { FilterOperator } from './pivot';
37
+ export type { FilterOperator } from './pivot';
38
+ /**
39
+ * Filter type discriminator.
40
+ *
41
+ * - autoFilter: Range filter with dropdown headers (Data > Filter)
42
+ * - tableFilter: Filter associated with an Excel table
43
+ * - advancedFilter: Complex criteria-based filter (future)
44
+ */
45
+ export type FilterType = 'autoFilter' | 'tableFilter' | 'advancedFilter';
46
+ /**
47
+ * A single filter condition with operator and value(s).
48
+ *
49
+ * Used in condition filters where users specify rules like
50
+ * "greater than 100" or "contains 'error'".
51
+ */
52
+ export interface FilterCondition {
53
+ /** The comparison operator */
54
+ operator: FilterOperator;
55
+ /** Primary comparison value (not used for isBlank/isNotBlank) */
56
+ value?: CellValue;
57
+ /** Secondary value for 'between' operator (inclusive range) */
58
+ value2?: CellValue;
59
+ }
60
+ /**
61
+ * Column filter criteria - what's applied to a single column.
62
+ *
63
+ * Each column in a filter range can have its own criteria.
64
+ * Rows must match ALL column filters (AND logic across columns).
65
+ */
66
+ export interface ColumnFilterCriteria {
67
+ /**
68
+ * Type of filter applied to this column.
69
+ *
70
+ * - value: Checkbox list of specific values to include
71
+ * - condition: Operator-based rules (equals, contains, etc.)
72
+ * - color: Filter by cell background or font color
73
+ * - top10: Top/bottom N items or percent
74
+ */
75
+ type: 'value' | 'condition' | 'color' | 'top10';
76
+ /**
77
+ * For value filters: list of values to INCLUDE (show).
78
+ * Unchecked values in the dropdown are excluded (hidden).
79
+ * Include empty string or null to show blank cells.
80
+ */
81
+ values?: CellValue[];
82
+ /**
83
+ * For condition filters: one or two filter conditions.
84
+ * When two conditions are present, conditionLogic determines how they combine.
85
+ */
86
+ conditions?: FilterCondition[];
87
+ /**
88
+ * Logic for combining multiple conditions.
89
+ * - 'and': Row must match ALL conditions
90
+ * - 'or': Row must match ANY condition
91
+ * Default: 'and'
92
+ */
93
+ conditionLogic?: 'and' | 'or';
94
+ /**
95
+ * For color filters: filter by background or font color.
96
+ */
97
+ colorFilter?: {
98
+ /** Whether to filter by background fill or font color */
99
+ type: 'background' | 'font';
100
+ /** Hex color to match (e.g., '#ff0000') */
101
+ color: string;
102
+ };
103
+ /**
104
+ * For top/bottom N filters: show only the highest or lowest values.
105
+ */
106
+ topBottom?: {
107
+ /** Show top values or bottom values */
108
+ type: 'top' | 'bottom';
109
+ /** Number of items or percentage */
110
+ count: number;
111
+ /** Whether count is number of items or percentage */
112
+ by: 'items' | 'percent';
113
+ };
114
+ }
115
+ /**
116
+ * Sort configuration for a filter.
117
+ *
118
+ * Filters often include sort controls in their dropdown menus.
119
+ * This tracks the current sort state applied via the filter.
120
+ *
121
+ * Cell Identity Model: Uses CellId for the sorted column header, not column index.
122
+ */
123
+ export interface FilterSortState {
124
+ /**
125
+ * CellId of the header cell being sorted.
126
+ * Using CellId ensures the sort follows the column on insert/delete.
127
+ */
128
+ columnCellId: CellId;
129
+ /** Sort direction */
130
+ order: 'asc' | 'desc';
131
+ /** What to sort by */
132
+ sortBy: 'value' | 'color' | 'icon';
133
+ }
134
+ /**
135
+ * Complete filter state for a range - Cell Identity Model.
136
+ *
137
+ * ARCHITECTURE: Filter ranges are defined by CellId corner references,
138
+ * NOT position-based CellRange. This follows the same pattern as:
139
+ * - IdentityRangeRef (formulas)
140
+ * - IdentityRangeSchemaRef (data validation)
141
+ * - IdentityMergedRegion (merged cells)
142
+ *
143
+ * Why CellId-based?
144
+ * - Survives row/col insert/delete (positions change, CellIds stable)
145
+ * - CRDT-safe for concurrent structure changes
146
+ * - Matches the Cell Identity Model used throughout the codebase
147
+ *
148
+ * This is the persisted state in Yjs. It includes:
149
+ * - Corner cell CellIds that define the filter range
150
+ * - Per-column filter criteria keyed by header CellId
151
+ * - Optional sort state (also by CellId)
152
+ * - Optional table association
153
+ */
154
+ export interface FilterState {
155
+ /** Unique filter identifier (UUID v7) */
156
+ id: string;
157
+ /** Filter type discriminator */
158
+ type: FilterType;
159
+ /**
160
+ * CellId of the header row, first column (top-left of header).
161
+ * Example: If filter is on A1:C10, this is the CellId of A1.
162
+ */
163
+ headerStartCellId: CellId;
164
+ /**
165
+ * CellId of the header row, last column (top-right of header).
166
+ * Example: If filter is on A1:C10, this is the CellId of C1.
167
+ */
168
+ headerEndCellId: CellId;
169
+ /**
170
+ * CellId of the last data row, first column (defines data extent).
171
+ * Example: If filter is on A1:C10 (header A1:C1, data A2:C10), this is CellId of A10.
172
+ *
173
+ * Why first column? We only need to track row extent, and the column extent
174
+ * is already defined by headerEndCellId. Using first column is simpler.
175
+ */
176
+ dataEndCellId: CellId;
177
+ /**
178
+ * Per-column filter criteria, keyed by header cell CellId.
179
+ *
180
+ * Why CellId key (not column index)?
181
+ * - Column index changes on insert/delete column
182
+ * - CellId is stable - filter criteria follows the column
183
+ *
184
+ * Example: If column B has a filter and user inserts column at A,
185
+ * B becomes C but the filter criteria stays with the same CellId.
186
+ *
187
+ * Empty object means no filters are applied (show all rows).
188
+ */
189
+ columnFilters: Record<CellId, ColumnFilterCriteria>;
190
+ /** Current sort state applied via this filter (optional) */
191
+ sortState?: FilterSortState;
192
+ /** Associated table ID for tableFilter type (optional) */
193
+ tableId?: string;
194
+ /** When this filter was created (Unix ms) */
195
+ createdAt?: number;
196
+ /** When this filter was last modified (Unix ms) */
197
+ updatedAt?: number;
198
+ }
199
+ /**
200
+ * Information about a filter header cell for UI rendering.
201
+ *
202
+ * Returned by getFilterHeaderInfo() to tell the renderer whether a cell
203
+ * is an AutoFilter header and should show a filter dropdown button.
204
+ *
205
+ * NOTE: Table filters use a separate code path via getTableAtCell().
206
+ * This type is specifically for AutoFilter (non-table filters).
207
+ */
208
+ export interface FilterHeaderInfo {
209
+ /**
210
+ * The filter state ID - used to open the dropdown and apply criteria.
211
+ */
212
+ filterId: string;
213
+ /**
214
+ * CellId of this header cell (NOT column index!).
215
+ * Used as the key for column filter operations in Layer 0.
216
+ */
217
+ headerCellId: CellId;
218
+ /**
219
+ * Whether this column has active filter criteria applied.
220
+ * If true, the dropdown button shows a filter indicator.
221
+ */
222
+ hasActiveFilter: boolean;
223
+ }
224
+ /**
225
+ * Result of evaluating a filter against a single row.
226
+ *
227
+ * Used internally by the filter engine to determine which rows
228
+ * should be hidden or shown.
229
+ */
230
+ export interface FilterEvaluationResult {
231
+ /** Row index (0-based absolute row in sheet) */
232
+ row: number;
233
+ /** Whether the row matches all active filter criteria */
234
+ matches: boolean;
235
+ }
236
+ /**
237
+ * Interface for filter CRUD operations.
238
+ *
239
+ * Implemented by the filter operations module in the engine.
240
+ * All operations go through the coordinator pattern.
241
+ *
242
+ * ARCHITECTURE: Column operations use CellId (header cell) instead of column index.
243
+ * This ensures filter criteria follows columns on insert/delete operations.
244
+ */
245
+ export interface IFilterManager {
246
+ /**
247
+ * Create a new filter for a range.
248
+ *
249
+ * ARCHITECTURE: Accepts position-based CellRange for convenience (API), but
250
+ * internally stores CellId references. This is the same pattern as formula
251
+ * parsing - user types A1:C10, we store CellIds.
252
+ *
253
+ * @param sheetId - Sheet to create filter in
254
+ * @param range - Range to filter (header row + data rows)
255
+ * @param type - Filter type (default: 'autoFilter')
256
+ * @returns The created filter state (with CellId references)
257
+ */
258
+ createFilter(sheetId: string, range: CellRange, type?: FilterType): FilterState;
259
+ /**
260
+ * Get a filter by ID.
261
+ *
262
+ * @param sheetId - Sheet containing the filter
263
+ * @param filterId - Filter ID
264
+ * @returns Filter state or undefined if not found
265
+ */
266
+ getFilter(sheetId: string, filterId: string): FilterState | undefined;
267
+ /**
268
+ * Get filter that contains a specific range (for overlap detection).
269
+ *
270
+ * @param sheetId - Sheet to search
271
+ * @param range - Range to check for filter containment
272
+ * @returns Filter state or undefined if no filter contains the range
273
+ */
274
+ getFilterForRange(sheetId: string, range: CellRange): FilterState | undefined;
275
+ /**
276
+ * Get all filters in a sheet.
277
+ *
278
+ * @param sheetId - Sheet to get filters from
279
+ * @returns Array of filter states
280
+ */
281
+ getFiltersInSheet(sheetId: string): FilterState[];
282
+ /**
283
+ * Delete a filter (removes filter state, does NOT unhide rows).
284
+ *
285
+ * @param sheetId - Sheet containing the filter
286
+ * @param filterId - Filter ID to delete
287
+ */
288
+ deleteFilter(sheetId: string, filterId: string): void;
289
+ /**
290
+ * Set filter criteria for a specific column.
291
+ *
292
+ * ARCHITECTURE: Uses header CellId instead of column index for CRDT safety.
293
+ * The filter criteria follows the column on insert/delete operations.
294
+ *
295
+ * @param sheetId - Sheet containing the filter
296
+ * @param filterId - Filter ID
297
+ * @param headerCellId - CellId of the header cell (NOT column index)
298
+ * @param criteria - Filter criteria to apply
299
+ */
300
+ setColumnFilter(sheetId: string, filterId: string, headerCellId: CellId, criteria: ColumnFilterCriteria): void;
301
+ /**
302
+ * Clear filter criteria for a specific column.
303
+ *
304
+ * @param sheetId - Sheet containing the filter
305
+ * @param filterId - Filter ID
306
+ * @param headerCellId - CellId of the header cell (NOT column index)
307
+ */
308
+ clearColumnFilter(sheetId: string, filterId: string, headerCellId: CellId): void;
309
+ /**
310
+ * Clear all column filters (show all rows).
311
+ *
312
+ * @param sheetId - Sheet containing the filter
313
+ * @param filterId - Filter ID
314
+ */
315
+ clearAllColumnFilters(sheetId: string, filterId: string): void;
316
+ /**
317
+ * Evaluate filter criteria against data rows.
318
+ *
319
+ * Returns which rows match/don't match without hiding anything.
320
+ * Useful for preview or debugging.
321
+ *
322
+ * @param sheetId - Sheet containing the filter
323
+ * @param filterId - Filter ID
324
+ * @returns Array of evaluation results for each data row
325
+ */
326
+ evaluateFilter(sheetId: string, filterId: string): FilterEvaluationResult[];
327
+ /**
328
+ * Apply filter: evaluate criteria and hide/unhide rows.
329
+ *
330
+ * This is THE BRIDGE: resolves CellIds to positions, evaluates criteria,
331
+ * then calls hideRows()/unhideRows() based on filter results.
332
+ *
333
+ * @param sheetId - Sheet containing the filter
334
+ * @param filterId - Filter ID
335
+ */
336
+ applyFilter(sheetId: string, filterId: string): void;
337
+ /**
338
+ * Sort data by a filter column.
339
+ *
340
+ * @param sheetId - Sheet containing the filter
341
+ * @param filterId - Filter ID
342
+ * @param headerCellId - CellId of the header cell to sort by
343
+ * @param order - Sort direction
344
+ */
345
+ sortFilterColumn(sheetId: string, filterId: string, headerCellId: CellId, order: 'asc' | 'desc'): void;
346
+ /**
347
+ * Get unique values in a filter column (for populating dropdown).
348
+ *
349
+ * @param sheetId - Sheet containing the filter
350
+ * @param filterId - Filter ID
351
+ * @param headerCellId - CellId of the header cell
352
+ * @returns Array of unique cell values in the column
353
+ */
354
+ getUniqueValues(sheetId: string, filterId: string, headerCellId: CellId): CellValue[];
355
+ /**
356
+ * Check if a row is filtered (hidden by any filter).
357
+ *
358
+ * @param sheetId - Sheet to check
359
+ * @param row - Row index to check
360
+ * @returns true if the row is hidden due to filtering
361
+ */
362
+ isRowFiltered(sheetId: string, row: number): boolean;
363
+ }
364
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/data/filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Row/Column Grouping Contracts
3
+ *
4
+ * Type definitions for row and column grouping (outline) with expand/collapse.
5
+ * Grouping enables hierarchical data organization with collapsible sections,
6
+ * outline level buttons, and automatic subtotal generation.
7
+ *
8
+ * These types mirror the Rust canonical types in `domain-types::domain::grouping`.
9
+ * The Rust types are the source of truth; these TS definitions must stay in sync.
10
+ * Bridge codegen also generates these into `compute-types.gen.ts` — if the two
11
+ * diverge, the generated version is authoritative.
12
+ */
13
+ import type { CellRange } from '../core/core';
14
+ /** Group axis: row or column. */
15
+ export type GroupAxis = 'row' | 'column';
16
+ /**
17
+ * A row or column group definition.
18
+ * Groups can be nested up to 8 levels deep (matching Excel).
19
+ *
20
+ * Mirrors Rust `domain_types::domain::grouping::GroupDefinition`.
21
+ */
22
+ export interface GroupDefinition {
23
+ /** Unique group identifier */
24
+ id: string;
25
+ /** Sheet containing the group */
26
+ sheetId: string;
27
+ /** Group axis (row or column) */
28
+ axis: GroupAxis;
29
+ /** Start index (inclusive, 0-indexed) */
30
+ start: number;
31
+ /** End index (inclusive, 0-indexed) */
32
+ end: number;
33
+ /** Outline level (1-8, where 1 is outermost) */
34
+ level: number;
35
+ /** Whether this group is currently collapsed */
36
+ collapsed: boolean;
37
+ /** Parent group ID for nested groups */
38
+ parentId?: string;
39
+ /** OOXML round-trip: whether rows/cols were hidden by this group */
40
+ hidden?: boolean;
41
+ /** OOXML round-trip: collapsed attribute was on a group member, not end+1 */
42
+ collapsedOnMember?: boolean;
43
+ }
44
+ /**
45
+ * Per-sheet grouping configuration.
46
+ * Stored in Yjs for collaboration and persistence.
47
+ *
48
+ * Mirrors Rust `domain_types::domain::grouping::SheetGroupingConfig`.
49
+ */
50
+ export interface SheetGroupingConfig {
51
+ /** All row groups in this sheet */
52
+ rowGroups: GroupDefinition[];
53
+ /** All column groups in this sheet */
54
+ columnGroups: GroupDefinition[];
55
+ /** Whether summary rows appear below detail rows (default: true) */
56
+ summaryRowsBelow: boolean;
57
+ /** Whether summary columns appear to the right of detail (default: true) */
58
+ summaryColumnsRight: boolean;
59
+ /** Whether outline symbols (+/-) are visible in the gutter (default: true) */
60
+ showOutlineSymbols: boolean;
61
+ /** Whether outline level buttons (1,2,3...) are visible (default: true) */
62
+ showOutlineLevelButtons: boolean;
63
+ }
64
+ /**
65
+ * Default grouping configuration for new sheets.
66
+ */
67
+ export declare const DEFAULT_SHEET_GROUPING_CONFIG: SheetGroupingConfig;
68
+ /**
69
+ * Computed outline level for a single row or column.
70
+ * Used by the renderer to determine visibility and display.
71
+ */
72
+ export interface OutlineLevel {
73
+ /** Row or column index (0-indexed) */
74
+ index: number;
75
+ /** Current outline level (0 = not grouped, 1-8 = grouped) */
76
+ level: number;
77
+ /** Whether this row/column is visible (not hidden by collapsed groups) */
78
+ visible: boolean;
79
+ /** Whether this is a summary row/column (contains totals) */
80
+ isSummary: boolean;
81
+ /** Group IDs this row/column belongs to (innermost to outermost) */
82
+ groupIds: string[];
83
+ }
84
+ /**
85
+ * Partial update for outline display settings.
86
+ */
87
+ export interface OutlineSettingsUpdate {
88
+ summaryRowsBelow?: boolean;
89
+ summaryColumnsRight?: boolean;
90
+ showOutlineSymbols?: boolean;
91
+ showOutlineLevelButtons?: boolean;
92
+ }
93
+ /**
94
+ * Hit test result for outline button clicks in headers.
95
+ * Used by the renderer/coordinator for click handling.
96
+ */
97
+ export interface OutlineButtonHitResult {
98
+ /** Type of button clicked */
99
+ type: 'expand-collapse' | 'level';
100
+ /** Group ID for expand/collapse buttons */
101
+ groupId?: string;
102
+ /** Level number for level buttons (1, 2, 3, etc.) */
103
+ level?: number;
104
+ /** Axis of the button */
105
+ axis: 'row' | 'column';
106
+ }
107
+ /**
108
+ * Subtotal aggregate function types.
109
+ * Maps to SUBTOTAL function codes in Excel.
110
+ */
111
+ export type SubtotalFunction = 'sum' | 'count' | 'average' | 'max' | 'min' | 'product' | 'countNums' | 'stdDev' | 'stdDevP' | 'var' | 'varP';
112
+ /**
113
+ * Options for the Subtotals feature.
114
+ * Used to create automatic subtotals with grouping.
115
+ */
116
+ export interface SubtotalOptions {
117
+ /** Column index to group by (the "change" column) */
118
+ groupByColumn: number;
119
+ /** Column indices to calculate subtotals for */
120
+ subtotalColumns: number[];
121
+ /** Aggregate function to use */
122
+ function: SubtotalFunction;
123
+ /** Replace existing subtotals if present (default: true) */
124
+ replaceExisting: boolean;
125
+ /** Place summary row below data (default: true) */
126
+ summaryBelowData: boolean;
127
+ }
128
+ /**
129
+ * Result of creating subtotals.
130
+ */
131
+ export interface SubtotalResult {
132
+ /** Number of groups created */
133
+ groupsCreated: number;
134
+ /** Number of subtotal rows inserted */
135
+ subtotalRowsInserted: number;
136
+ /** Range of affected cells */
137
+ affectedRange: CellRange;
138
+ }
139
+ /**
140
+ * Grouping manager interface for row/column grouping operations.
141
+ * Implemented in engine, integrated via coordinator.
142
+ */
143
+ export interface IGroupingManager {
144
+ groupRows(sheetId: string, startRow: number, endRow: number): GroupDefinition;
145
+ groupColumns(sheetId: string, startCol: number, endCol: number): GroupDefinition;
146
+ ungroupRows(sheetId: string, startRow: number, endRow: number): void;
147
+ ungroupColumns(sheetId: string, startCol: number, endCol: number): void;
148
+ clearRowGrouping(sheetId: string, startRow: number, endRow: number): void;
149
+ clearColumnGrouping(sheetId: string, startCol: number, endCol: number): void;
150
+ getSheetGroupingConfig(sheetId: string): SheetGroupingConfig;
151
+ getGroup(groupId: string): GroupDefinition | undefined;
152
+ getGroups(sheetId: string, axis: 'row' | 'column'): GroupDefinition[];
153
+ getRowOutlineLevels(sheetId: string, startRow: number, endRow: number): OutlineLevel[];
154
+ getColumnOutlineLevels(sheetId: string, startCol: number, endCol: number): OutlineLevel[];
155
+ getMaxOutlineLevel(sheetId: string, axis: 'row' | 'column'): number;
156
+ isRowVisible(sheetId: string, row: number): boolean;
157
+ isColumnVisible(sheetId: string, col: number): boolean;
158
+ setGroupCollapsed(groupId: string, collapsed: boolean): void;
159
+ toggleGroupCollapsed(groupId: string): boolean;
160
+ setLevelCollapsed(sheetId: string, axis: 'row' | 'column', level: number, collapsed: boolean): void;
161
+ expandAll(sheetId: string, axis?: 'row' | 'column'): void;
162
+ collapseAll(sheetId: string, axis?: 'row' | 'column'): void;
163
+ setOutlineSettings(sheetId: string, settings: Partial<Pick<SheetGroupingConfig, 'summaryRowsBelow' | 'summaryColumnsRight' | 'showOutlineSymbols' | 'showOutlineLevelButtons'>>): void;
164
+ autoOutline(sheetId: string, range: CellRange): number;
165
+ createSubtotals(sheetId: string, range: CellRange, options: SubtotalOptions): SubtotalResult;
166
+ removeSubtotals(sheetId: string, range: CellRange): void;
167
+ getAffectedRowsByGroup(groupId: string): number[];
168
+ getAffectedColumnsByGroup(groupId: string): number[];
169
+ }
170
+ //# sourceMappingURL=grouping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grouping.d.ts","sourceRoot":"","sources":["../../src/data/grouping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export * from './charts';
2
+ export * from './conditional-format';
3
+ export * from './filter';
4
+ export * from './grouping';
5
+ export * from './named-ranges';
6
+ export * from './pivot';
7
+ export * from './slicers';
8
+ export * from './sorting';
9
+ export * from './sparklines';
10
+ export * from './tables';
11
+ export * from './trace-arrows';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Named Ranges (Defined Names) Contracts
3
+ *
4
+ * Type definitions for the named ranges system (Stream B1).
5
+ *
6
+ * CRITICAL ARCHITECTURE DECISION: Named ranges MUST use IdentityFormula
7
+ * for the refersTo field, NOT A1 strings. This ensures:
8
+ * - CRDT-safe storage (concurrent structure changes compose correctly)
9
+ * - Insert/delete row/col operations don't corrupt named ranges
10
+ * - Display regenerated at render time from stable CellIds
11
+ *
12
+ * @example
13
+ * User creates "SalesData" → =Sheet1!$A$1:$B$10
14
+ *
15
+ * With A1 string storage (WRONG):
16
+ * refersTo: "=Sheet1!$A$1:$B$10"
17
+ * After concurrent column insert at A: still "=Sheet1!$A$1:$B$10" ❌
18
+ *
19
+ * With IdentityFormula storage (CORRECT):
20
+ * refersTo: { template: "{0}", refs: [{ startId, endId }] }
21
+ * After column insert: CellIds unchanged, positions shifted
22
+ * Display regenerates: "=Sheet1!$B$1:$C$10" ✓
23
+ *
24
+ * @see plans/active/detailed-parity-implementation/STREAM-B1-NAMED-RANGES.md
25
+ */
26
+ import type { IdentityFormula } from '../cells/cell-identity';
27
+ import type { SheetId } from '../core/core';
28
+ /**
29
+ * A defined name stored in Yjs.
30
+ *
31
+ * Uses IdentityFormula for CRDT-safe structure-change handling.
32
+ * This is the same approach used for formula storage throughout the codebase.
33
+ */
34
+ export interface DefinedName {
35
+ /** Unique identifier for the defined name */
36
+ id: string;
37
+ /**
38
+ * The name (e.g., "SalesData", "TaxRate").
39
+ * Case-insensitive for lookup, but preserves original case.
40
+ */
41
+ name: string;
42
+ /**
43
+ * What the name refers to - stored as IdentityFormula for CRDT safety.
44
+ *
45
+ * Examples:
46
+ * - Range: { template: "{0}", refs: [{ type: 'range', startId: '...', endId: '...' }] }
47
+ * - Cell: { template: "{0}", refs: [{ type: 'cell', id: '...' }] }
48
+ * - Constant: { template: "42", refs: [] }
49
+ * - Formula: { template: "OFFSET({0},0,0,COUNTA({1}),1)", refs: [...] }
50
+ */
51
+ refersTo: IdentityFormula;
52
+ /**
53
+ * Scope of the name:
54
+ * - undefined/null = workbook scope (available everywhere)
55
+ * - sheetId = sheet scope (only available in that sheet)
56
+ *
57
+ * Sheet-scoped names have higher precedence than workbook-scoped
58
+ * names with the same name.
59
+ */
60
+ scope?: SheetId;
61
+ /** Optional comment/description */
62
+ comment?: string;
63
+ /**
64
+ * Whether the name is visible in Name Manager.
65
+ * Hidden names (visible: false) are typically system-generated.
66
+ * @default true
67
+ */
68
+ visible?: boolean;
69
+ }
70
+ /**
71
+ * Input for creating or updating a defined name.
72
+ *
73
+ * User provides A1 string, domain module converts to IdentityFormula internally.
74
+ * This keeps the API simple while maintaining CRDT safety in storage.
75
+ */
76
+ export interface DefinedNameInput {
77
+ /** The name to define */
78
+ name: string;
79
+ /**
80
+ * A1-style reference that will be converted to IdentityFormula.
81
+ * Examples:
82
+ * - "=Sheet1!$A$1:$B$10"
83
+ * - "=$A$1"
84
+ * - "=42" (constant)
85
+ * - "=OFFSET(A1,0,0,COUNTA(A:A),1)" (dynamic formula)
86
+ */
87
+ refersToA1: string;
88
+ /** Scope: undefined = workbook, sheetId = sheet-local */
89
+ scope?: SheetId;
90
+ /** Optional comment */
91
+ comment?: string;
92
+ }
93
+ /**
94
+ * Result of name validation.
95
+ */
96
+ export interface NameValidationResult {
97
+ /** Whether the name is valid */
98
+ valid: boolean;
99
+ /** Error type if invalid */
100
+ error?: 'invalid_characters' | 'starts_with_number' | 'reserved_name' | 'duplicate_name' | 'too_long' | 'cell_reference' | 'r1c1_reference' | 'empty';
101
+ /** Human-readable error message */
102
+ message?: string;
103
+ }
104
+ //# sourceMappingURL=named-ranges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"named-ranges.d.ts","sourceRoot":"","sources":["../../src/data/named-ranges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;OAQG;IACH,QAAQ,EAAE,eAAe,CAAC;IAE1B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,KAAK,EAAE,OAAO,CAAC;IAEf,4BAA4B;IAC5B,KAAK,CAAC,EACF,oBAAoB,GACpB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,UAAU,GACV,gBAAgB,GAChB,gBAAgB,GAChB,OAAO,CAAC;IAEZ,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}