@sheetxl/sdk 0.8.0-beta.1 → 0.8.0-beta.11

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 (775) hide show
  1. package/README.md +1 -1
  2. package/THIRD-PARTY-NOTICES.md +1 -1
  3. package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
  4. package/browser/esm/BFagR2JeWs74iAG3.mjs +171 -0
  5. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
  6. package/browser/esm/BLoUBId2xZpXAK_H.mjs +698 -0
  7. package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
  8. package/browser/esm/BVDiOXGMc5_FMGfy.mjs +400 -0
  9. package/browser/esm/BjkCiv5Jz6WYKZeu.mjs +598 -0
  10. package/browser/esm/BkBhLS0l6z8sxI6D.mjs +441 -0
  11. package/browser/esm/BnG31I6Oj_HEtSPS.mjs +167 -0
  12. package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
  13. package/browser/esm/BpgskG1Er_lGQ_yS.mjs +142 -0
  14. package/browser/esm/BtvLTTfSBdAKplVG.mjs +466 -0
  15. package/browser/esm/C16ycKja6zG0crV_.mjs +55580 -0
  16. package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
  17. package/browser/esm/C4MqfLn9Dm-l3OIk.mjs +540 -0
  18. package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
  19. package/browser/esm/CHU6iu_WGlm7fLET.mjs +1001 -0
  20. package/browser/esm/CQYjO777cmAznUzK.mjs +527 -0
  21. package/browser/esm/CU3DmJ-YnVVrC1_k.mjs +1123 -0
  22. package/browser/esm/CV5EGEjG5_-CPpP0.mjs +8212 -0
  23. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
  24. package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
  25. package/browser/esm/ClPfI4lODvCece29.mjs +632 -0
  26. package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
  27. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Ctjb0SsxV4K4MMqG.mjs} +179 -202
  28. package/browser/esm/D5np__Jb1euAyaLw.mjs +7 -0
  29. package/browser/esm/DEiPS3Dr-s4fPbVZ.mjs +607 -0
  30. package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
  31. package/browser/esm/DWNzqw7DUKwoxjri.mjs +20 -0
  32. package/browser/esm/{B0HS42a7lga1k1U_.mjs → Dlmig06rIo7cInRk.mjs} +2 -2
  33. package/browser/esm/{f2G3QRgEbvFJcoa2.mjs → DvAaxH6z_tGvrRzl.mjs} +1704 -1008
  34. package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
  35. package/browser/esm/PcHFjNzQsE54POri.mjs +1141 -0
  36. package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
  37. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
  38. package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
  39. package/browser/esm/index.mjs +1759 -1161
  40. package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
  41. package/browser/esm/zlLuW405RSguy4Kn.mjs +357 -0
  42. package/licenses/dependencies.txt +141 -141
  43. package/node/esm/2Kihw_-5lVTEnwMa.mjs +1132 -0
  44. package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
  45. package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
  46. package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
  47. package/node/esm/BIRq1kT7lLRzns9t.mjs +610 -0
  48. package/node/esm/BIwObuhTJYf0jpUa.mjs +451 -0
  49. package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
  50. package/node/esm/BqiexuA89caYnAPz.mjs +1135 -0
  51. package/node/esm/BrCKGFRsX_ezFJ4B.mjs +811 -0
  52. package/node/esm/CCN5vD410obwdz38.mjs +405 -0
  53. package/node/esm/{Cku7XiUvw1xrRasi.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
  54. package/node/esm/CGp6VZL-gZa9Uezx.mjs +1860 -0
  55. package/node/esm/CNCNJNg890KdgkWh.mjs +142 -0
  56. package/node/esm/CZICGK_ss0HoGHCP.mjs +7 -0
  57. package/node/esm/CZiqiay42tFTrLI4.mjs +171 -0
  58. package/node/esm/CdJHUJSBRHZoryPe.mjs +360 -0
  59. package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
  60. package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
  61. package/node/esm/CzXT00vrQa1_gvW9.mjs +28 -0
  62. package/node/esm/D1TKBVmoKGAXf37B.mjs +402 -0
  63. package/node/esm/D2KBymQJd1XhpeQD.mjs +540 -0
  64. package/node/esm/D6e2z7eZpxOJXHc7.mjs +1783 -0
  65. package/node/esm/D8zEN-6ZdDqDvTxM.mjs +639 -0
  66. package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
  67. package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
  68. package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
  69. package/node/esm/D_t5AUxSm7_icjzq.mjs +638 -0
  70. package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
  71. package/node/esm/De2IONBxQhz-Qbyh.mjs +596 -0
  72. package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
  73. package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
  74. package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
  75. package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
  76. package/node/esm/cGwrLA1RCE-WhJ7w.mjs +255 -0
  77. package/node/esm/index.mjs +2873 -53929
  78. package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
  79. package/node/esm/yavzZOiZW_EjG9lE.mjs +15 -0
  80. package/package.json +15 -17
  81. package/resources/contents.json +184 -0
  82. package/resources/fonts/arial-bold-italic.hinted.json +125 -0
  83. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  84. package/resources/fonts/arial-bold-italic.rows.json +9 -0
  85. package/resources/fonts/arial-bold.hinted.json +125 -0
  86. package/resources/fonts/arial-bold.metrics.json +139 -0
  87. package/resources/fonts/arial-bold.rows.json +9 -0
  88. package/resources/fonts/arial-italic.hinted.json +125 -0
  89. package/resources/fonts/arial-italic.metrics.json +139 -0
  90. package/resources/fonts/arial-italic.rows.json +9 -0
  91. package/resources/fonts/arial-regular.hinted.json +125 -0
  92. package/resources/fonts/arial-regular.metrics.json +139 -0
  93. package/resources/fonts/arial-regular.rows.json +9 -0
  94. package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
  95. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  96. package/resources/fonts/calibri-bold-italic.rows.json +9 -0
  97. package/resources/fonts/calibri-bold.hinted.json +122 -0
  98. package/resources/fonts/calibri-bold.metrics.json +137 -0
  99. package/resources/fonts/calibri-bold.rows.json +9 -0
  100. package/resources/fonts/calibri-italic.hinted.json +121 -0
  101. package/resources/fonts/calibri-italic.metrics.json +137 -0
  102. package/resources/fonts/calibri-italic.rows.json +9 -0
  103. package/resources/fonts/calibri-regular.hinted.json +121 -0
  104. package/resources/fonts/calibri-regular.metrics.json +137 -0
  105. package/resources/fonts/calibri-regular.rows.json +9 -0
  106. package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
  107. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  108. package/resources/fonts/cambria-bold-italic.rows.json +9 -0
  109. package/resources/fonts/cambria-bold.hinted.json +108 -0
  110. package/resources/fonts/cambria-bold.metrics.json +66 -0
  111. package/resources/fonts/cambria-bold.rows.json +9 -0
  112. package/resources/fonts/cambria-italic.hinted.json +102 -0
  113. package/resources/fonts/cambria-italic.metrics.json +66 -0
  114. package/resources/fonts/cambria-italic.rows.json +9 -0
  115. package/resources/fonts/cambria-regular.hinted.json +110 -0
  116. package/resources/fonts/cambria-regular.metrics.json +66 -0
  117. package/resources/fonts/cambria-regular.rows.json +9 -0
  118. package/resources/fonts/contents.json +406 -0
  119. package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
  120. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  121. package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
  122. package/resources/fonts/courier-new-bold.hinted.json +11 -0
  123. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  124. package/resources/fonts/courier-new-bold.rows.json +9 -0
  125. package/resources/fonts/courier-new-italic.hinted.json +11 -0
  126. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  127. package/resources/fonts/courier-new-italic.rows.json +9 -0
  128. package/resources/fonts/courier-new-regular.hinted.json +11 -0
  129. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  130. package/resources/fonts/courier-new-regular.rows.json +9 -0
  131. package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
  132. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  133. package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
  134. package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
  135. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  136. package/resources/fonts/times-new-roman-bold.rows.json +9 -0
  137. package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
  138. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  139. package/resources/fonts/times-new-roman-italic.rows.json +9 -0
  140. package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
  141. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  142. package/resources/fonts/times-new-roman-regular.rows.json +9 -0
  143. package/resources/locales/de/model.msg.json +199 -21
  144. package/resources/locales/en/model.msg.json +207 -23
  145. package/types/scripting-api.json +10663 -0
  146. package/types/scripting-enums.json +435 -130
  147. package/types/scripting.d.ts +33010 -15730
  148. package/types/src/.generated/wasm/fonts.d.ts +161 -0
  149. package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
  150. package/types/src/.generated/wasm/sdk.d.ts +122 -0
  151. package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
  152. package/types/src/address/AddressUtils.d.ts +10 -1
  153. package/types/src/address/_StructuredAddress.d.ts +58 -0
  154. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  155. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  156. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  157. package/types/src/autoFill/AutoFill.d.ts +316 -32
  158. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  159. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +58 -41
  160. package/types/src/border/index.d.ts +1 -1
  161. package/types/src/calculation/Calculation.d.ts +584 -149
  162. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  163. package/types/src/calculation/FormulaLiterals.d.ts +2 -1
  164. package/types/src/calculation/FormulaText.d.ts +98 -0
  165. package/types/src/calculation/ICalculation.d.ts +353 -88
  166. package/types/src/calculation/INamedFormulasCollection.d.ts +9 -8
  167. package/types/src/calculation/NamedFormulaCollection.d.ts +322 -115
  168. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  169. package/types/src/calculation/TokenType.d.ts +9 -0
  170. package/types/src/calculation/Types.d.ts +83 -2
  171. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  172. package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
  173. package/types/src/calculation/_TableExtent.d.ts +60 -0
  174. package/types/src/calculation/_TableRename.d.ts +13 -0
  175. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  176. package/types/src/calculation/compiler/CompilerUtils.d.ts +152 -44
  177. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  178. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  179. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  180. package/types/src/calculation/compiler/ParserUtils.d.ts +42 -1
  181. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  182. package/types/src/calculation/compiler/Types.d.ts +79 -9
  183. package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
  184. package/types/src/calculation/engine/index.d.ts +10 -0
  185. package/types/src/calculation/executor/CalcExecutor.d.ts +331 -33
  186. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +49 -2
  187. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  188. package/types/src/calculation/formula/Formula.d.ts +67 -21
  189. package/types/src/calculation/formula/FormulaBlock.d.ts +131 -23
  190. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  191. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  192. package/types/src/calculation/formula/IFormulaBlock.d.ts +277 -67
  193. package/types/src/calculation/formula/LambdaValue.d.ts +51 -26
  194. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  195. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  196. package/types/src/calculation/formula/index.d.ts +1 -0
  197. package/types/src/calculation/functions/FunctionDeclarations.d.ts +35 -0
  198. package/types/src/calculation/functions/Operators.d.ts +8 -0
  199. package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
  200. package/types/src/calculation/functions/initializeFunctions.d.ts +3 -2
  201. package/types/src/calculation/grid/CalcGrid.d.ts +443 -158
  202. package/types/src/calculation/grid/CalcGridBackend.d.ts +523 -0
  203. package/types/src/calculation/grid/CalcGridProxy.d.ts +135 -0
  204. package/types/src/calculation/grid/CalcGridUtils.d.ts +69 -12
  205. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  206. package/types/src/calculation/grid/FormulaHost.d.ts +284 -0
  207. package/types/src/calculation/grid/ICalcGrid.d.ts +528 -141
  208. package/types/src/calculation/grid/_CalcRequest.d.ts +299 -0
  209. package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
  210. package/types/src/calculation/grid/index.d.ts +4 -0
  211. package/types/src/calculation/index.d.ts +2 -0
  212. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  213. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +364 -11
  214. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  215. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  216. package/types/src/calculation/spatial/index.d.ts +1 -0
  217. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  218. package/types/src/calculation/state/CalcNode.d.ts +141 -30
  219. package/types/src/calculation/state/CalcScope.d.ts +46 -0
  220. package/types/src/calculation/state/CalcState.d.ts +32 -1
  221. package/types/src/calculation/state/CalculationContext.d.ts +50 -3
  222. package/types/src/calculation/state/IContextContainer.d.ts +141 -27
  223. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  224. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  225. package/types/src/calculation/state/index.d.ts +1 -0
  226. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  227. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  228. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  229. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  230. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  231. package/types/src/calculation/symbol/index.d.ts +3 -2
  232. package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
  233. package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
  234. package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
  235. package/types/src/calculation/toolkit/index.d.ts +12 -0
  236. package/types/src/cell/ICell.d.ts +357 -33
  237. package/types/src/cell/ICellHeader.d.ts +31 -8
  238. package/types/src/cell/ICellProtection.d.ts +50 -10
  239. package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
  240. package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
  241. package/types/src/cellRange/ICellRange.d.ts +737 -130
  242. package/types/src/cellRange/ICellRanges.d.ts +31 -24
  243. package/types/src/chart/Chart.d.ts +246 -16
  244. package/types/src/chart/ChartCollection.d.ts +31 -0
  245. package/types/src/chart/IChart.d.ts +2058 -18
  246. package/types/src/chart/IChartCollection.d.ts +50 -0
  247. package/types/src/chart/_ChartParts.d.ts +1066 -0
  248. package/types/src/chart/_ChartSource.d.ts +47 -0
  249. package/types/src/chart/createChart.d.ts +26 -0
  250. package/types/src/chart/index.d.ts +5 -3
  251. package/types/src/chart/kinds/ChartKind.d.ts +252 -0
  252. package/types/src/chart/kinds/_Area.d.ts +3 -0
  253. package/types/src/chart/kinds/_Bar.d.ts +4 -0
  254. package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
  255. package/types/src/chart/kinds/_Bubble.d.ts +3 -0
  256. package/types/src/chart/kinds/_Funnel.d.ts +4 -0
  257. package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
  258. package/types/src/chart/kinds/_Histogram.d.ts +4 -0
  259. package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
  260. package/types/src/chart/kinds/_Line.d.ts +4 -0
  261. package/types/src/chart/kinds/_OfPie.d.ts +4 -0
  262. package/types/src/chart/kinds/_Pie.d.ts +4 -0
  263. package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
  264. package/types/src/chart/kinds/_Radar.d.ts +4 -0
  265. package/types/src/chart/kinds/_Scatter.d.ts +8 -0
  266. package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
  267. package/types/src/chart/kinds/_Surface.d.ts +4 -0
  268. package/types/src/chart/kinds/_Treemap.d.ts +4 -0
  269. package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
  270. package/types/src/chart/kinds/_builtIns.d.ts +11 -0
  271. package/types/src/chart/layout/ChartLayout.d.ts +825 -0
  272. package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
  273. package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
  274. package/types/src/chart/layout/_HitTest.d.ts +36 -0
  275. package/types/src/chart/layout/_Layout.d.ts +25 -0
  276. package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
  277. package/types/src/chart/math/BoxStats.d.ts +35 -0
  278. package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
  279. package/types/src/chart/math/DisplayUnits.d.ts +53 -0
  280. package/types/src/chart/math/Histogram.d.ts +48 -0
  281. package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
  282. package/types/src/chart/math/Treemap.d.ts +28 -0
  283. package/types/src/chart/math/Trendlines.d.ts +71 -0
  284. package/types/src/chart/math/UnitCalcs.d.ts +98 -0
  285. package/types/src/chart/model/ChartModel.d.ts +681 -0
  286. package/types/src/chart/model/_ChartType.d.ts +14 -0
  287. package/types/src/chart/model/_Edits.d.ts +489 -0
  288. package/types/src/chart/model/_Grouping.d.ts +83 -0
  289. package/types/src/chart/model/_Inference.d.ts +52 -0
  290. package/types/src/chart/model/_ModelFacts.d.ts +112 -0
  291. package/types/src/chart/model/_NewChart.d.ts +208 -0
  292. package/types/src/chart/model/_OfPie.d.ts +18 -0
  293. package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
  294. package/types/src/chart/resolve/_Resolve.d.ts +51 -0
  295. package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
  296. package/types/src/collections/ArraysGrid.d.ts +1 -1
  297. package/types/src/collections/IGrid.d.ts +1 -1
  298. package/types/src/collections/ISparseGrid.d.ts +9 -0
  299. package/types/src/collections/ISpatialMap.d.ts +59 -21
  300. package/types/src/collections/ImmutableList.d.ts +28 -0
  301. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  302. package/types/src/collections/RTree.d.ts +116 -36
  303. package/types/src/collections/RepeatingList.d.ts +7 -0
  304. package/types/src/collections/ScalarGrid.d.ts +50 -0
  305. package/types/src/collections/SparseGrid.d.ts +7 -4
  306. package/types/src/collections/SpatialMap.d.ts +15 -29
  307. package/types/src/collections/SpatialMap3D.d.ts +2 -0
  308. package/types/src/collections/Tuple.d.ts +128 -16
  309. package/types/src/collections/_GridUtils.d.ts +19 -6
  310. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  311. package/types/src/collections/index.d.ts +2 -1
  312. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  313. package/types/src/comment/Comment.d.ts +246 -0
  314. package/types/src/comment/CommentCollection.d.ts +40 -0
  315. package/types/src/comment/IComment.d.ts +377 -50
  316. package/types/src/comment/ICommentCollection.d.ts +90 -0
  317. package/types/src/comment/NoteMovable.d.ts +26 -0
  318. package/types/src/comment/_CommentUtils.d.ts +50 -0
  319. package/types/src/comment/_NoteBox.d.ts +67 -0
  320. package/types/src/comment/index.d.ts +1 -0
  321. package/types/src/condition/AnchoredConditional.d.ts +110 -19
  322. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  323. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  324. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  325. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  326. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  327. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  328. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  329. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  330. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  331. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  332. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  333. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  334. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  335. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  336. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  337. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  338. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  339. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  340. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  341. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  342. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  343. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  344. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  345. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  346. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  347. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  348. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  349. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  350. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  351. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  352. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  353. package/types/src/condition/Condition.d.ts +19 -1
  354. package/types/src/condition/ICondition.d.ts +296 -75
  355. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  356. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  357. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  358. package/types/src/conditionalFormat/ConditionalFormat.d.ts +34 -17
  359. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  360. package/types/src/conditionalFormat/IConditionalFormat.d.ts +16 -13
  361. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  362. package/types/src/dataTable/DataTable.d.ts +67 -0
  363. package/types/src/dataTable/DataTableCollection.d.ts +19 -0
  364. package/types/src/dataTable/IDataTable.d.ts +99 -0
  365. package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
  366. package/types/src/dataTable/index.d.ts +6 -0
  367. package/types/src/dataValidation/DataValidation.d.ts +70 -4
  368. package/types/src/dataValidation/DataValidationCollection.d.ts +23 -9
  369. package/types/src/dataValidation/IDataValidation.d.ts +150 -31
  370. package/types/src/dataValidation/IDataValidationCollection.d.ts +34 -2
  371. package/types/src/date/DateUtils.d.ts +20 -0
  372. package/types/src/date/_DateUtils.d.ts +91 -7
  373. package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
  374. package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
  375. package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
  376. package/types/src/documentProperties/index.d.ts +3 -0
  377. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  378. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  379. package/types/src/externalBook/IExternalBook.d.ts +171 -19
  380. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  381. package/types/src/externalBook/index.d.ts +1 -0
  382. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  383. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  384. package/types/src/fill/IEffect.d.ts +5 -5
  385. package/types/src/fill/IFill.d.ts +129 -77
  386. package/types/src/fill/IFillable.d.ts +47 -0
  387. package/types/src/fill/IStroke.d.ts +204 -64
  388. package/types/src/fill/PaintUtils.d.ts +22 -0
  389. package/types/src/fill/RectAlignment.d.ts +20 -0
  390. package/types/src/fill/_Fills.d.ts +187 -0
  391. package/types/src/fill/_Stroke.d.ts +89 -0
  392. package/types/src/fill/index.d.ts +3 -0
  393. package/types/src/filter/IFilter.d.ts +188 -5
  394. package/types/src/font/AdvanceBuilder.d.ts +59 -0
  395. package/types/src/font/AdvanceTable.d.ts +228 -0
  396. package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
  397. package/types/src/font/FontCapture.d.ts +4 -0
  398. package/types/src/font/FontCollection.d.ts +108 -0
  399. package/types/src/font/FontPlatform.d.ts +20 -0
  400. package/types/src/font/FontUtils.d.ts +5 -0
  401. package/types/src/font/IFont.d.ts +208 -61
  402. package/types/src/font/IFontCollection.d.ts +126 -22
  403. package/types/src/font/IFontStyle.d.ts +207 -0
  404. package/types/src/font/TableFileAdvanceBuilder.d.ts +36 -0
  405. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  406. package/types/src/font/_FontUtils.d.ts +11 -4
  407. package/types/src/font/_FontsVersion.d.ts +7 -0
  408. package/types/src/font/index.d.ts +2 -1
  409. package/types/src/font/platform.browser.d.ts +15 -0
  410. package/types/src/font/platform.node.d.ts +5 -0
  411. package/types/src/group/Group.d.ts +141 -0
  412. package/types/src/group/GroupMovableCollection.d.ts +41 -0
  413. package/types/src/group/IGroup.d.ts +129 -0
  414. package/types/src/group/index.d.ts +2 -0
  415. package/types/src/history/IHistory.d.ts +21 -3
  416. package/types/src/hyperlink/IHyperlink.d.ts +20 -1
  417. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  418. package/types/src/i18n/LanguagePack.d.ts +12 -4
  419. package/types/src/index.d.ts +8 -0
  420. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  421. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  422. package/types/src/io/EmbeddedPart.d.ts +20 -0
  423. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  424. package/types/src/io/IWorkbookIO.d.ts +185 -18
  425. package/types/src/io/WorkbookIO.d.ts +9 -0
  426. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  427. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  428. package/types/src/io/_XmlFragment.d.ts +49 -0
  429. package/types/src/io/index.d.ts +1 -0
  430. package/types/src/license/LicenseDetails.d.ts +1 -0
  431. package/types/src/license/LicenseManager.d.ts +25 -1
  432. package/types/src/license/Types.d.ts +38 -0
  433. package/types/src/license/_Utils.d.ts +39 -0
  434. package/types/src/license/details.d.ts +24 -0
  435. package/types/src/license/license-key.d.ts +49 -2
  436. package/types/src/license/runtime.browser.d.ts +46 -0
  437. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +19 -12
  438. package/types/src/listener/IListener.d.ts +23 -6
  439. package/types/src/listener/ListenerEmitter.d.ts +55 -6
  440. package/types/src/model/AbstractModel.d.ts +14 -5
  441. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  442. package/types/src/movable/CustomElement.d.ts +4 -5
  443. package/types/src/movable/ErrorContent.d.ts +49 -0
  444. package/types/src/movable/FormControl.d.ts +285 -0
  445. package/types/src/movable/GroupMember.d.ts +87 -0
  446. package/types/src/movable/ICustomElement.d.ts +7 -2
  447. package/types/src/movable/IErrorContent.d.ts +23 -0
  448. package/types/src/movable/IFormControl.d.ts +455 -0
  449. package/types/src/movable/IMovable.d.ts +405 -60
  450. package/types/src/movable/IMovableCollection.d.ts +64 -4
  451. package/types/src/movable/Movable.d.ts +161 -50
  452. package/types/src/movable/MovableCollection.d.ts +21 -10
  453. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  454. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  455. package/types/src/movable/_ContentFactory.d.ts +35 -0
  456. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  457. package/types/src/movable/_InsertableCollection.d.ts +39 -0
  458. package/types/src/movable/_MovableUtils.d.ts +5 -0
  459. package/types/src/movable/_PendingContent.d.ts +25 -0
  460. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  461. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  462. package/types/src/movable/index.d.ts +7 -1
  463. package/types/src/named/AbstractNamed.d.ts +1 -1
  464. package/types/src/named/INamed.d.ts +34 -1
  465. package/types/src/named/INamedCollection.d.ts +28 -2
  466. package/types/src/named/NamedCollection.d.ts +32 -19
  467. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  468. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  469. package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
  470. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  471. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  472. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  473. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  474. package/types/src/outline/IOutline.d.ts +186 -0
  475. package/types/src/outline/Outline.d.ts +157 -0
  476. package/types/src/outline/index.d.ts +2 -0
  477. package/types/src/person/IPerson.d.ts +99 -0
  478. package/types/src/person/IPersonCollection.d.ts +51 -0
  479. package/types/src/person/Person.d.ts +32 -0
  480. package/types/src/person/PersonCollection.d.ts +49 -0
  481. package/types/src/person/index.d.ts +4 -0
  482. package/types/src/picture/IPicture.d.ts +131 -4
  483. package/types/src/picture/Picture.d.ts +42 -14
  484. package/types/src/pivot/IPivotTable.d.ts +72 -0
  485. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  486. package/types/src/pivot/PivotCache.d.ts +34 -0
  487. package/types/src/pivot/PivotTable.d.ts +61 -0
  488. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  489. package/types/src/pivot/_PivotXml.d.ts +24 -0
  490. package/types/src/pivot/index.d.ts +6 -0
  491. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  492. package/types/src/primitives/Criteria.d.ts +1 -1
  493. package/types/src/primitives/Grouping.d.ts +65 -0
  494. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  495. package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
  496. package/types/src/primitives/Range.d.ts +133 -25
  497. package/types/src/primitives/RangeStats.d.ts +30 -2
  498. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  499. package/types/src/primitives/Runtime.d.ts +15 -2
  500. package/types/src/primitives/environment.browser.d.ts +9 -0
  501. package/types/src/primitives/environment.node.d.ts +10 -0
  502. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  503. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  504. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  505. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  506. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  507. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  508. package/types/src/primitives/stats/index.d.ts +1 -0
  509. package/types/src/print/IPageLayout.d.ts +635 -0
  510. package/types/src/print/PageLayout.d.ts +258 -0
  511. package/types/src/print/index.d.ts +1 -1
  512. package/types/src/protectedRange/IProtectedRange.d.ts +6 -2
  513. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  514. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  515. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  516. package/types/src/protection/DefaultProtection.d.ts +12 -1
  517. package/types/src/protection/IProtection.d.ts +42 -2
  518. package/types/src/protection/PasswordHasher.d.ts +13 -0
  519. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  520. package/types/src/reference/index.d.ts +2 -0
  521. package/types/src/resource/IResource.d.ts +21 -1
  522. package/types/src/resource/IResourceCollection.d.ts +9 -1
  523. package/types/src/resource/ResourceCollection.d.ts +6 -6
  524. package/types/src/richData/IRichDataKind.d.ts +22 -0
  525. package/types/src/richData/RichDataRegistry.d.ts +57 -0
  526. package/types/src/richData/RichText.d.ts +59 -0
  527. package/types/src/richData/index.d.ts +3 -0
  528. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  529. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  530. package/types/src/scripting/IModule.d.ts +25 -0
  531. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  532. package/types/src/scripting/IScript.d.ts +30 -28
  533. package/types/src/scripting/ITypedFunction.d.ts +1 -1
  534. package/types/src/scripting/Module.d.ts +34 -6
  535. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  536. package/types/src/scripting/Runtime.d.ts +15 -0
  537. package/types/src/scripting/Scripts.d.ts +3 -7
  538. package/types/src/scripting/TypedFunction.d.ts +154 -18
  539. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  540. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  541. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  542. package/types/src/scripting/declarations.browser.d.ts +10 -0
  543. package/types/src/scripting/declarations.d.ts +52 -0
  544. package/types/src/scripting/declarations.node.d.ts +9 -0
  545. package/types/src/scripting/index.d.ts +3 -0
  546. package/types/src/selection/ChartElementSelection.d.ts +39 -0
  547. package/types/src/selection/IChartElementSelection.d.ts +103 -0
  548. package/types/src/selection/IItemSelection.d.ts +131 -0
  549. package/types/src/selection/IMovableSelection.d.ts +120 -0
  550. package/types/src/selection/IRangeSelection.d.ts +13 -8
  551. package/types/src/selection/ItemSelection.d.ts +49 -0
  552. package/types/src/selection/MovableSelection.d.ts +29 -0
  553. package/types/src/selection/RangeSelection.d.ts +19 -4
  554. package/types/src/selection/index.d.ts +4 -0
  555. package/types/src/shape/GeometryPreset.d.ts +197 -0
  556. package/types/src/shape/IGeometry.d.ts +380 -0
  557. package/types/src/shape/IShape.d.ts +342 -194
  558. package/types/src/shape/IShapeStyle.d.ts +109 -0
  559. package/types/src/shape/ITextBoxStyle.d.ts +85 -0
  560. package/types/src/shape/Shape.d.ts +107 -21
  561. package/types/src/shape/ShapeStyleUtils.d.ts +66 -0
  562. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  563. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  564. package/types/src/shape/_Connectors.d.ts +108 -0
  565. package/types/src/shape/_Geometry.d.ts +14 -0
  566. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  567. package/types/src/shape/_ShapeStyle.d.ts +79 -0
  568. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  569. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  570. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  571. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  572. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  573. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  574. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  575. package/types/src/shape/_builtIn/math.d.ts +6 -0
  576. package/types/src/shape/_builtIn/other.d.ts +6 -0
  577. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  578. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  579. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  580. package/types/src/shape/geometry/format.d.ts +3 -0
  581. package/types/src/shape/geometry/geometry.d.ts +85 -0
  582. package/types/src/shape/geometry/guides.d.ts +54 -0
  583. package/types/src/shape/geometry/handles.d.ts +14 -0
  584. package/types/src/shape/geometry/index.d.ts +7 -0
  585. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  586. package/types/src/shape/geometry/paths.d.ts +35 -0
  587. package/types/src/shape/geometry/segments.d.ts +114 -0
  588. package/types/src/shape/index.d.ts +4 -0
  589. package/types/src/sheet/CellRegion.d.ts +43 -3
  590. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  591. package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
  592. package/types/src/sheet/ISheet.d.ts +81 -931
  593. package/types/src/sheet/IWorksheet.d.ts +1514 -0
  594. package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +38 -16
  595. package/types/src/sheet/NamedCellRange.d.ts +17 -8
  596. package/types/src/sheet/NamedRange.d.ts +10 -2
  597. package/types/src/sheet/OpaqueSheet.d.ts +114 -0
  598. package/types/src/sheet/SheetCell.d.ts +96 -39
  599. package/types/src/sheet/SheetRange.d.ts +130 -27
  600. package/types/src/sheet/SheetRanges.d.ts +33 -18
  601. package/types/src/sheet/Worksheet.d.ts +2250 -0
  602. package/types/src/sheet/WorksheetCollection.d.ts +39 -0
  603. package/types/src/sheet/_Anomalies.d.ts +109 -0
  604. package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
  605. package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
  606. package/types/src/sheet/_CellBuffer.d.ts +224 -0
  607. package/types/src/sheet/_CopyUtils.d.ts +13 -6
  608. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  609. package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
  610. package/types/src/sheet/_InvalidSheetRange.d.ts +10 -9
  611. package/types/src/sheet/_Kinds.d.ts +34 -0
  612. package/types/src/sheet/_Labels.d.ts +38 -0
  613. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  614. package/types/src/sheet/_RangeStateSweep.d.ts +15 -0
  615. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  616. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  617. package/types/src/sheet/_SheetAutoFitUtils.d.ts +5 -5
  618. package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
  619. package/types/src/sheet/_SheetCoords.d.ts +3 -3
  620. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  621. package/types/src/sheet/_SheetFilterUtils.d.ts +51 -3
  622. package/types/src/sheet/_SheetIntents.d.ts +314 -0
  623. package/types/src/sheet/_SheetMessages.d.ts +1 -1
  624. package/types/src/sheet/_SheetMutations.d.ts +185 -66
  625. package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
  626. package/types/src/sheet/_SheetStateReader.d.ts +35 -11
  627. package/types/src/sheet/_SheetStateTypes.d.ts +143 -79
  628. package/types/src/sheet/_SheetUtils.d.ts +59 -41
  629. package/types/src/sheet/_WatchAnchor.d.ts +106 -0
  630. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
  631. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
  632. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
  633. package/types/src/sheet/index.d.ts +5 -2
  634. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  635. package/types/src/sheet/spatial/index.d.ts +1 -0
  636. package/types/src/sheet/style/SheetCellStyle.d.ts +223 -337
  637. package/types/src/sheet/style/SheetDirectStyle.d.ts +31 -20
  638. package/types/src/sheet/style/SheetNamedStyle.d.ts +19 -17
  639. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  640. package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
  641. package/types/src/sheet/style/_Resolvers.d.ts +17 -10
  642. package/types/src/sheet/style/_StyleUtils.d.ts +34 -40
  643. package/types/src/sheetHeader/ISheetHeader.d.ts +96 -55
  644. package/types/src/sheetHeader/SheetCellHeader.d.ts +6 -0
  645. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
  646. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
  647. package/types/src/sheetHeader/SheetHeader.d.ts +48 -27
  648. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  649. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -4
  650. package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +64 -30
  651. package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
  652. package/types/src/sheetProtection/index.d.ts +1 -1
  653. package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +230 -69
  654. package/types/src/sheetView/WorksheetView.d.ts +139 -0
  655. package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
  656. package/types/src/sheetView/index.d.ts +1 -1
  657. package/types/src/slicer/ISlicer.d.ts +304 -17
  658. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  659. package/types/src/slicer/Slicer.d.ts +128 -13
  660. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  661. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  662. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  663. package/types/src/slicer/index.d.ts +1 -0
  664. package/types/src/sort/ISort.d.ts +39 -7
  665. package/types/src/string/IStringCollection.d.ts +5 -0
  666. package/types/src/string/StringCollection.d.ts +6 -6
  667. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +117 -85
  668. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  669. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  670. package/types/src/style/IStyleCollection.d.ts +91 -60
  671. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  672. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  673. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  674. package/types/src/style/StyleCollection.d.ts +81 -26
  675. package/types/src/style/TableStyleCollection.d.ts +49 -0
  676. package/types/src/style/_BuiltInStyleDefs.d.ts +9 -8
  677. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  678. package/types/src/style/index.d.ts +7 -1
  679. package/types/src/table/AnchoredTable.d.ts +723 -78
  680. package/types/src/table/AutoTable.d.ts +8 -6
  681. package/types/src/table/ITable.d.ts +289 -49
  682. package/types/src/table/ITableCollection.d.ts +12 -0
  683. package/types/src/table/ITableStyle.d.ts +37 -37
  684. package/types/src/table/TableCollection.d.ts +19 -8
  685. package/types/src/table/_FilterField.d.ts +19 -6
  686. package/types/src/table/_NamedTable.d.ts +20 -4
  687. package/types/src/table/_NamedTableSource.d.ts +3 -2
  688. package/types/src/table/_SortField.d.ts +2 -0
  689. package/types/src/table/_TableColumn.d.ts +13 -2
  690. package/types/src/table/_TableMessages.d.ts +1 -0
  691. package/types/src/table/_TableUtils.d.ts +40 -0
  692. package/types/src/text/Bullet.d.ts +4 -0
  693. package/types/src/text/IText.d.ts +150 -15
  694. package/types/src/text/ITextFrame.d.ts +110 -1
  695. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  696. package/types/src/text/TextEngine.d.ts +34 -0
  697. package/types/src/text/TextFrame.d.ts +8 -2
  698. package/types/src/text/TextLine.d.ts +4 -0
  699. package/types/src/text/TextParagraph.d.ts +4 -0
  700. package/types/src/text/TextRotation.d.ts +3 -3
  701. package/types/src/text/TextRun.d.ts +12 -2
  702. package/types/src/text/TextStacked.d.ts +83 -0
  703. package/types/src/text/TextWrapper.d.ts +32 -26
  704. package/types/src/text/_TextUtils.d.ts +5 -5
  705. package/types/src/text/_TextWrapperFallback.d.ts +49 -0
  706. package/types/src/text/impl/TabStrategy.d.ts +3 -1
  707. package/types/src/text/index.d.ts +1 -0
  708. package/types/src/text/richtext/IRichText.d.ts +50 -0
  709. package/types/src/text/richtext/index.d.ts +1 -1
  710. package/types/src/theme/ITheme.d.ts +153 -11
  711. package/types/src/theme/IThemeCollection.d.ts +2 -0
  712. package/types/src/theme/ThemeCollection.d.ts +16 -7
  713. package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
  714. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  715. package/types/src/transaction/ITransaction.d.ts +277 -45
  716. package/types/src/transaction/Transaction.d.ts +108 -11
  717. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  718. package/types/src/transaction/_BatchHandle.d.ts +118 -0
  719. package/types/src/type/AbstractCollection.d.ts +92 -0
  720. package/types/src/type/ICollection.d.ts +131 -1
  721. package/types/src/type/IProperties.d.ts +1 -1
  722. package/types/src/type/ITypes.d.ts +9 -7
  723. package/types/src/type/index.d.ts +1 -0
  724. package/types/src/utils/_CSSUtils.d.ts +4 -4
  725. package/types/src/wasm/_fontsWasm.d.ts +7 -0
  726. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  727. package/types/src/wasm/fontsWasm.d.ts +32 -0
  728. package/types/src/wasm/index.d.ts +3 -0
  729. package/types/src/wasm/loader.browser.d.ts +9 -0
  730. package/types/src/wasm/loader.node.d.ts +9 -0
  731. package/types/src/wasm/sdkWasm.d.ts +32 -0
  732. package/types/src/workbook/IWorkbook.d.ts +404 -73
  733. package/types/src/workbook/Workbook.d.ts +196 -28
  734. package/types/src/workbook/WorkbookRange.d.ts +2 -2
  735. package/types/src/workbook/WorkbookRanges.d.ts +2 -2
  736. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  737. package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
  738. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  739. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  740. package/types/src/workbookView/IWorkbookView.d.ts +94 -0
  741. package/types/src/workbookView/WorkbookView.d.ts +26 -0
  742. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  743. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  744. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  745. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  746. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  747. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  748. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
  749. package/browser/cjs/index.cjs +0 -3
  750. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  751. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  752. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  753. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  754. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  755. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  756. package/types/src/collections/OverlappingRangeIterator.d.ts +0 -91
  757. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  758. package/types/src/dataValidation/_Utils.d.ts +0 -10
  759. package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
  760. package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
  761. package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
  762. package/types/src/lib/utils/_Utils.d.ts +0 -27
  763. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  764. package/types/src/movable/IGroup.d.ts +0 -30
  765. package/types/src/movable/IMovableSelection.d.ts +0 -49
  766. package/types/src/print/IPrint.d.ts +0 -234
  767. package/types/src/sheet/Sheet.d.ts +0 -1107
  768. package/types/src/sheet/SheetCollection.d.ts +0 -18
  769. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  770. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  771. package/types/src/sheet/listener/index.d.ts +0 -3
  772. package/types/src/sheetProtection/SheetProtection.d.ts +0 -39
  773. package/types/src/sheetView/SheetView.d.ts +0 -113
  774. package/types/src/text/richtext/IStyledFont.d.ts +0 -330
  775. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -4,24 +4,26 @@ import { ITypes } from '../type';
4
4
  import { IListener } from '../listener';
5
5
  import { ITransaction } from '../transaction';
6
6
  import { IHyperlink } from '../hyperlink';
7
- import { IComment } from '../comment';
7
+ import { IRichText } from '../text';
8
+ import { IComment, ICommentCollection } from '../comment';
8
9
  import { ISort } from '../sort';
9
10
  import { ICondition } from '../condition';
10
11
  import { IAutoFill } from '../autoFill';
11
- import { IStyle } from '../style';
12
+ import { ICellStyle } from '../style';
12
13
  import { ICalculation } from '../calculation';
13
14
  import { ITable, ITableCollection } from '../table';
14
15
  import { IMovable, IMovableCollection } from '../movable';
15
16
  import { IDataValidation, IDataValidationCollection } from '../dataValidation';
16
17
  import { IConditionalFormat } from '../conditionalFormat/IConditionalFormat';
17
18
  import { IConditionalFormatCollection } from '../conditionalFormat/IConditionalFormatCollection';
18
- import { ISheet } from '../sheet';
19
+ import { IProtectedRange, IProtectedRangeCollection } from '../protectedRange';
20
+ import { IWorksheet } from '../sheet';
19
21
  import { ICell } from '../cell';
20
22
  import { ICellRanges } from './ICellRanges';
21
23
  import { ICellRegions } from './ICellRegion';
22
24
  import { ICellHeaderRange } from './ICellHeaderRange';
23
25
  /**
24
- * A {@link ICellRange} represents a rectangular collection of {@link ICell} within an {@link ISheet}.
26
+ * A {@link ICellRange} represents a rectangular collection of {@link ICell} within an {@link IWorksheet}.
25
27
  *
26
28
  * **Naming Conventions:** Methods usually adhere to the following conventions except
27
29
  * when adhering to a idiomatic existing conventions of Typescript (for example `size` or 'length'):
@@ -66,6 +68,18 @@ export interface ICellRange {
66
68
  * * @returns An array of 'IRange.Coords` that contain merges.
67
69
  */
68
70
  getMerges(): IRange.Coords[];
71
+ /**
72
+ * Returns the unlocked ranges (Excel's *Allow Edit Ranges*) that overlap the range.
73
+ *
74
+ * @param options The filters of {@link IProtectedRangeCollection.getItems} without `address` —
75
+ * this range is the address.
76
+ *
77
+ * @remarks
78
+ * See {@link getConditionalFormats} for the overlap and one-entry-per-item rules, which are the
79
+ * same for every ranged item lookup. A cell can also be unlocked by its style
80
+ * (`ICellStyle.getProtection()`); {@link ICell.isEditAllowed} answers for both.
81
+ */
82
+ getUnlocked(options?: ICellRange.GetItemsOptions<IProtectedRangeCollection.GetItemsOptions>): IProtectedRange[];
69
83
  /**
70
84
  * Returns the {@link IConditionalFormat}s that overlap the range.
71
85
  *
@@ -77,7 +91,7 @@ export interface ICellRange {
77
91
  * pass `fullyContained` for the stricter question.
78
92
  *
79
93
  * The items are the sheet's — this is a scoped view of
80
- * `getSheet().getConditionalFormats()`, not a copy — and each appears **once**, however many of
94
+ * `getWorksheet().getConditionalFormats()`, not a copy — and each appears **once**, however many of
81
95
  * its ranges the query hit. The range only says *which* items; ask an item where it lives with
82
96
  * {@link IConditionalFormat.getRanges}.
83
97
  */
@@ -96,6 +110,17 @@ export interface ICellRange {
96
110
  * same for every ranged item lookup.
97
111
  */
98
112
  getDataValidations(options?: ICellRange.GetItemsOptions<IDataValidationCollection.GetItemsOptions>): IDataValidation[];
113
+ /**
114
+ * Returns the {@link IComment}s on cells within the range.
115
+ *
116
+ * @param options The filters of {@link ICommentCollection.getItems} without `address` — this
117
+ * range is the address.
118
+ *
119
+ * @remarks
120
+ * The items are the sheet's — a scoped view of `getWorksheet().getComments()`, not a copy. A
121
+ * comment is on one cell, so each appears once, in reading order.
122
+ */
123
+ getComments(options?: ICellRange.GetItemsOptions<ICommentCollection.GetItemsOptions>): IComment[];
99
124
  /**
100
125
  * Returns the {@link ITable}s that overlap the range.
101
126
  *
@@ -127,6 +152,15 @@ export interface ICellRange {
127
152
  * {@link ICellRange.getCells}
128
153
  */
129
154
  getCell(address?: ICell.Address): ICell;
155
+ /**
156
+ * Exists to have api parity with Office Scripts: `row` and `column` are 0-based offsets from the
157
+ * range's top left.
158
+ *
159
+ * @deprecated Use {@link getCell}`('B3')`, or `getCell({ rowIndex, colIndex })` with sheet
160
+ * coordinates.
161
+ * @hidden
162
+ */
163
+ getCell(row: number, column: number): ICell;
130
164
  /**
131
165
  * Return a 2D array of {@link ICell | cells} in the shape of the range.
132
166
  *
@@ -147,6 +181,24 @@ export interface ICellRange {
147
181
  * {@link ICellRange.getValues}
148
182
  */
149
183
  getValue(): Scalar;
184
+ /**
185
+ * Returns the top left cell's value as displayed, with its number format applied.
186
+ *
187
+ * @remarks
188
+ * The same as `getCell().getText(options)`.
189
+ *
190
+ * @see
191
+ * {@link ICell.getText}
192
+ */
193
+ getText(options?: ICell.GetTextOptions): string;
194
+ /**
195
+ * Exists to have api parity with Office Scripts.
196
+ *
197
+ * @deprecated Use {@link getCells}`()` and each cell's `getText()`, or {@link getText} for the
198
+ * top left cell.
199
+ * @hidden
200
+ */
201
+ getTexts(): string[][];
150
202
  /**
151
203
  * Returns the value for the top left `InteropScalar`.
152
204
  *
@@ -164,7 +216,20 @@ export interface ICellRange {
164
216
  * When querying the style the values will always be for the top left. However the
165
217
  * set values work for the entire range.
166
218
  */
167
- getStyle(): IStyle;
219
+ getStyle(): ICellStyle;
220
+ /**
221
+ * Exists to have api parity with Office Scripts.
222
+ *
223
+ * @deprecated Use {@link getStyle}.
224
+ * @hidden
225
+ */
226
+ getFormat(): ICellStyle;
227
+ /**
228
+ * @deprecated Use {@link getStyle}`().update(style)`, or a setter on the style:
229
+ * `getStyle().getFont().setBold(true)`.
230
+ * @hidden
231
+ */
232
+ setStyle(style: ICellStyle.Update, options?: ICellStyle.UpdateOptions): this;
168
233
  /**
169
234
  * Returns the formula for the range.
170
235
  *
@@ -173,30 +238,90 @@ export interface ICellRange {
173
238
  * @remarks
174
239
  * When querying the formula this will always be for the top left. However the
175
240
  * set values work for the entire range.
241
+ *
242
+ * Returns the formula object, or `null` for a cell without one. For formula text across the
243
+ * whole range use {@link ICellRange.getFormulas}, which reads `''` for cells without a formula.
176
244
  */
177
245
  getFormula(address?: ICell.Address): ICalculation.IFormula;
246
+ /**
247
+ * Returns the formula text of every cell in the range.
248
+ *
249
+ * @returns A row-major 2D array in the shape of the range.
250
+ *
251
+ * @remarks
252
+ * - Each formula reads as entered, with its leading `=` (`'=SUM(A1:A3)'`), so the result can be
253
+ * passed straight back to {@link ICellRange.setFormulas}.
254
+ * - A cell without a formula reads as an empty string `''`, not `null`. This differs from
255
+ * {@link ICell.getFormulaText} and {@link ICellRange.getFormula}, which return `null`.
256
+ * - Throws if the range holds more than `10000` cells, like {@link ICellRange.getValues}.
257
+ *
258
+ * @see {@link ICellRange.getFormula}
259
+ */
260
+ getFormulas(): string[][];
261
+ /**
262
+ * Returns the number format of the top-left cell.
263
+ *
264
+ * @remarks
265
+ * Reads the top-left cell, the same contract as {@link ICellRange.getValue} and
266
+ * {@link ICellRange.getStyle}. A cell without an authored format reads `'General'`.
267
+ *
268
+ * @see {@link ICellStyle.getNumberFormat}
269
+ */
270
+ getNumberFormat(): string;
271
+ /**
272
+ * Returns the number format of every cell in the range.
273
+ *
274
+ * @returns A row-major 2D array in the shape of the range.
275
+ *
276
+ * @remarks
277
+ * - A cell without an authored format reads `'General'`.
278
+ * - Throws if the range holds more than `10000` cells, like {@link ICellRange.getValues}.
279
+ *
280
+ * @see {@link ICellStyle.getNumberFormat}
281
+ */
282
+ getNumberFormats(): string[][];
283
+ /**
284
+ * Sets one number format on every cell in the range.
285
+ *
286
+ * @param numFmt The format code, or `null` to clear it.
287
+ *
288
+ * @see {@link ICellStyle.setNumberFormat}
289
+ */
290
+ setNumberFormat(numFmt: string | null, options?: ICellStyle.UpdateOptions): this;
291
+ /**
292
+ * Sets the number format of each cell in the range.
293
+ *
294
+ * @param formats Format codes in row-major order.
295
+ *
296
+ * @remarks
297
+ * An array smaller than the range writes only the cells it covers, as {@link ICellRange.setValues} does.
298
+ *
299
+ * @see {@link ICellRange.setNumberFormat}
300
+ */
301
+ setNumberFormats(formats: readonly string[][], options?: ICellRange.UpdateCellsOptions): this;
178
302
  /**
179
303
  * Parses a formula expression and returns a *transient* formula object anchored at this range's
180
304
  * top-left cell.
181
305
  *
182
306
  * @param expression The formula expression to parse.
307
+ * @param options Optional parse options; the expression is storage text unless `target` is `'display'`.
183
308
  *
184
309
  * @remarks
185
310
  * The anchored convenience form: equivalent to
186
- * `getSheet().createFormula(expression, topLeftCoords)`, where the anchor is this
311
+ * `getWorksheet().createFormula(expression, topLeftCoords)`, where the anchor is this
187
312
  * range's top-left cell. Nothing is committed — the formula is not registered in the workbook
188
313
  * or the dependency graph.
189
314
  *
190
- * Two behaviors follow from the sheet form (see {@link ISheet.createFormula}):
315
+ * Two behaviors follow from the sheet form (see {@link IWorksheet.createFormula}):
191
316
  *
192
317
  * - A bare reference (`A2`) resolves against THIS range's sheet, never the selected one.
193
318
  * - Relative references resolve **relative to the anchor cell**, so the expression reads
194
319
  * exactly as it would if it were authored here.
195
320
  *
196
- * @see {@link ISheet.createFormula}
321
+ * @see {@link IWorksheet.createFormula}
197
322
  * @see {@link ICalculation.createFormula}
198
323
  */
199
- createFormula(expression: string): ICalculation.IFormula;
324
+ createFormula(expression: string, options?: ICalculation.CreateFormulaOptions): ICalculation.IFormula;
200
325
  /**
201
326
  * Returns the intersection of the current range and the specified range.
202
327
  *
@@ -242,6 +367,20 @@ export interface ICellRange {
242
367
  * @returns `ICellRange` at the repositioned range.
243
368
  */
244
369
  getEntireRows(shift?: boolean, options?: ICellRange.GetRangeOptions): this;
370
+ /**
371
+ * Exists to have api parity with Office Scripts.
372
+ *
373
+ * @deprecated Use {@link getEntireRows}.
374
+ * @hidden
375
+ */
376
+ getEntireRow(): this;
377
+ /**
378
+ * Exists to have api parity with Office Scripts.
379
+ *
380
+ * @deprecated Use {@link getEntireColumns}.
381
+ * @hidden
382
+ */
383
+ getEntireColumn(): this;
245
384
  /**
246
385
  * Returns a range that includes the current range up to a content edge boundary.
247
386
  *
@@ -486,6 +625,27 @@ export interface ICellRange {
486
625
  * merges.
487
626
  */
488
627
  getDefaultSortCriteria(axis?: IRange.Axis, cell?: ICell.Address): ISort.DefaultSortCriteria | null;
628
+ /**
629
+ * Returns the fill this range implies — which cells it would read, which it would cover, the
630
+ * fill types that can be offered for it, and the one to open on.
631
+ *
632
+ * @param direction Which way the series runs. Defaults to the range's own shape: a single row
633
+ * runs `Right`, anything else runs `Down` — or, with a `destination`, to the way it extends.
634
+ * @param destination Fill the range as it is to here — the fill handle's drag. The template is
635
+ * then the WHOLE range, blanks included, rather than its leading run, and `destination` must
636
+ * extend it on exactly one edge as {@link autoFill} requires.
637
+ * @returns `IAutoFill.DefaultCriteria`, or `null` where there is nowhere to fill: the range is
638
+ * one cell deep along `direction`, or `destination` does not extend it — which is also how a
639
+ * surface learns that a direction is not on offer at all.
640
+ * @throws `Error` If `destination` does not share three edges with the range, or `direction` is
641
+ * not the way it extends.
642
+ *
643
+ * @remarks
644
+ * Useful for displaying options to the ui — a Series dialog, or a fill menu deciding what to
645
+ * grey. Nothing is filled and nothing is committed; see {@link autoFill} to run one, and
646
+ * {@link AutoFill.toFillOptions} for the options a chosen {@link IAutoFill.Preset} amounts to.
647
+ */
648
+ getDefaultAutoFillCriteria(direction?: IRange.Direction, destination?: ICellRange.Address): IAutoFill.DefaultCriteria | null;
489
649
  /**
490
650
  * Returns the ranges immediately referenced by the formulas in this range.
491
651
  *
@@ -494,39 +654,39 @@ export interface ICellRange {
494
654
  * rather than a fan-out — the calculation graph is indexed by range, so the cell form is this
495
655
  * one over a 1×1.
496
656
  *
497
- * - Returns `null` when there are none.
657
+ * - Resolves `null` when there are none; see {@link ICell.getDirectPrecedents} for when it resolves.
498
658
  * - **Not filtered against the range itself.** A block containing both a formula and its input
499
659
  * lists that input; "what does this block read" and "what does it read from outside" are
500
660
  * different questions, and the second is {@link getDifferences} away.
501
661
  */
502
- getDirectPrecedents(): ICellRanges | null;
662
+ getDirectPrecedents(): Promise<ICellRanges | null>;
503
663
  /**
504
664
  * Returns the cells that directly reference any cell in this range.
505
665
  *
506
666
  * @remarks
507
667
  * The range form of {@link ICell.getDirectDependents} — the immediate consumers of anything
508
- * this range produces. Returns `null` when there are none.
668
+ * this range produces. Resolves `null` when there are none.
509
669
  */
510
- getDirectDependents(): ICellRanges | null;
670
+ getDirectDependents(): Promise<ICellRanges | null>;
511
671
  /**
512
672
  * Returns all ranges contributing to this range's values, through the full calculation chain.
513
673
  *
514
674
  * @remarks
515
675
  * The range form of {@link ICell.getPrecedents}: a recursive walk upstream to the root data
516
- * sources. Returns `null` when there are none.
676
+ * sources. Resolves `null` when there are none.
517
677
  *
518
678
  * **Reach for this before editing.** The precedents of a block are what its values depend on,
519
679
  * so they are what a change to it can be wrong about.
520
680
  */
521
- getPrecedents(): ICellRanges | null;
681
+ getPrecedents(): Promise<ICellRanges | null>;
522
682
  /**
523
683
  * Returns all cells eventually affected by this range, through the full calculation chain.
524
684
  *
525
685
  * @remarks
526
686
  * The range form of {@link ICell.getDependents}: a recursive walk downstream giving the total
527
- * blast radius of a write here. Returns `null` when there are none.
687
+ * blast radius of a write here. Resolves `null` when there are none.
528
688
  */
529
- getDependents(): ICellRanges | null;
689
+ getDependents(): Promise<ICellRanges | null>;
530
690
  /**
531
691
  * Returns the statistics for the range.
532
692
  *
@@ -541,12 +701,6 @@ export interface ICellRange {
541
701
  * indexes) — they do not overlap.
542
702
  */
543
703
  getStats(options?: ICellRange.GetStatsOptions): IRangeStats;
544
- /**
545
- * Returns a count for of values.
546
- *
547
- * @deprecated Use `getStats`.
548
- */
549
- getCount(): number;
550
704
  /**
551
705
  * Returns per-feature cell counts for the range.
552
706
  *
@@ -559,6 +713,8 @@ export interface ICellRange {
559
713
  *
560
714
  * - Every public {@link ICellRange.Feature} appears as a key; features not requested, or not
561
715
  * present, are an explicit `0` — the shape is stable and self-describing, never `null`.
716
+ * `anomalies` is the exception: it is derived on read, so it is counted, and its key
717
+ * present, only when requested by name.
562
718
  * - Each feature is counted **independently**. `getCounts([Fill, Border])` is two numbers,
563
719
  * not the count of their refined intersection — the refined count *is* `getRegions`.
564
720
  * - Counts are cells, never regions: a region count would either disagree with the partition
@@ -595,19 +751,47 @@ export interface ICellRange {
595
751
  * feature-bearing side of the partition.
596
752
  * - **Nothing is computed until the result is iterated or counted.** The returned
597
753
  * {@link ICellRegions} is a lazily backed handle, so building the query costs nothing.
598
- * - **`Contentful` regions are maximal rectangles.** Every other feature's stored blocks stand
599
- * for a payload two adjacent blocks can disagree about — a fill's color, a formula's
600
- * expression — so distinct blocks stay distinct or the region stops being uniform. Occupancy
601
- * is a boolean: any two occupied rectangles agree, so its blocks carry no information and are
602
- * coalesced. A solid `A1:D4` is one region, not the four column strips it is stored as.
603
- * Refinement is unaffected — `[Contentful, Fill]` still partitions by fill and still excludes
604
- * unoccupied cells.
754
+ * - **Regions follow the payload, not how it was written.** A solid `A1:D4` is one
755
+ * `Contentful` region, and a number format applied in three strokes (or loaded from a file
756
+ * that stored it in pieces) is one `NumberFormat` region. The same holds for `Fill` and the
757
+ * other content-style features (`Font`, `Alignment`, `Protection`), and each of those splits
758
+ * only on its own part: a bold column inside a uniform number format does not split the
759
+ * `NumberFormat` region. `Borders` is the exception — a border's edges belong to the block
760
+ * it was applied to, so two equal boxes side by side are two regions. Refinement is
761
+ * unaffected — `[Contentful, Fill]` still partitions by fill and still excludes unoccupied
762
+ * cells.
605
763
  * - Every {@link Feature} partitions — there is no throwing member left. `DateFormat` splits by
606
764
  * format string, the same way `Fill` splits by color; `Error` splits by error value, backed
607
765
  * by the reconciled error index. Scalar kinds (`String`/`Number`/`Boolean`) are not in this
608
766
  * vocabulary at all — see {@link Feature}'s own remarks for where they went.
609
767
  */
610
768
  getRegions(features?: ICellRange.Feature | readonly ICellRange.Feature[], options?: ICellRange.GetRegionsOptions): ICellRegions;
769
+ /**
770
+ * Returns the regions of the `anomalies` feature in reading order: the named checks first, then
771
+ * the rest, each by rank.
772
+ *
773
+ * @param options {@link ICellRange.GetAnomaliesOptions}
774
+ *
775
+ * @example
776
+ * ```ts
777
+ * // Hunting an embedded hardcode: read its checks' findings first, 25 regions at a time.
778
+ * sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25 });
779
+ * sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25, offset: 25 });
780
+ * ```
781
+ *
782
+ * @remarks
783
+ * The regions are the ones {@link getRegions | getRegions('anomalies')} returns, with the same
784
+ * findings and ranks ({@link ICell.Anomaly}); only the order and the window differ. A region
785
+ * whose findings include the first named check lists first, highest rank of that check first;
786
+ * then the second check's; then every region no named check fires on, by its highest rank. A
787
+ * region two named checks fire on lists once, under the first. An ignored check
788
+ * ({@link setErrorIgnored}) is not there to list.
789
+ *
790
+ * `offset` and `limit` page through that one order, so successive windows neither skip nor
791
+ * repeat a region; a window shorter than `limit` is the last. `getRegions('anomalies').getCount()`
792
+ * is the length of the whole list.
793
+ */
794
+ getAnomalies(options?: ICellRange.GetAnomaliesOptions): ICellRegions;
611
795
  /**
612
796
  * Returns a 2D array of {@link Scalar | values} in the shape of the range.
613
797
  *
@@ -636,8 +820,8 @@ export interface ICellRange {
636
820
  * @remarks
637
821
  * - `null` values will clear the corresponding cells.
638
822
  * - `undefined` values will be ignored, leaving the existing cell values unchanged.
639
- * - If an array is passed the values will be in row-major order and will repeat if the range is larger than the array
640
- * - If a single value is passed in it will repeat the entire range.
823
+ * - The array is row-major. An array smaller than the range writes only the cells it covers.
824
+ * - A single value is {@link setValue}, which fills the range with it.
641
825
  */
642
826
  setValues(values: ICellRange.ValuesUpdate, options?: ICellRange.SetValuesOptions): this;
643
827
  /**
@@ -660,7 +844,7 @@ export interface ICellRange {
660
844
  * @see
661
845
  * {@link ICellRange.setValues}
662
846
  */
663
- setValue(value: ICellRange.ValuesUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
847
+ setValue(value: ICellRange.ScalarUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
664
848
  /**
665
849
  * Set the formula for a range.
666
850
  *
@@ -668,11 +852,24 @@ export interface ICellRange {
668
852
  * @returns The current `ICellRange`.
669
853
  *
670
854
  * @remarks
671
- * Identical behavior to setValue. Exists for ergonomics
855
+ * Identical behavior to setValue. Exists for ergonomics.
856
+ *
672
857
  * @see
673
858
  * {@link ICellRange.setValue}
674
859
  */
675
- setFormula(value: ICellRange.ValuesUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
860
+ setFormula(value: ICellRange.ScalarUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
861
+ /**
862
+ * Sets the formula of each cell in the range.
863
+ *
864
+ * @param formulas Formula text in row-major order, each with a leading `=`.
865
+ *
866
+ * @remarks
867
+ * The same write as {@link ICellRange.setValues}: text with a leading `=` is entered as a
868
+ * formula, and an array smaller than the range writes only the cells it covers.
869
+ *
870
+ * @see {@link ICellRange.getFormulas}
871
+ */
872
+ setFormulas(formulas: readonly string[][], options?: ICellRange.SetValuesOptions): this;
676
873
  /**
677
874
  * Re-evaluates and formulas within the range.
678
875
  *
@@ -718,10 +915,68 @@ export interface ICellRange {
718
915
  * @returns The current `ICellRange`.
719
916
  */
720
917
  autoFit(options?: ICellRange.AutoFitOptions): this;
918
+ /**
919
+ * Groups the rows or columns of the range: each one moves one outline level deeper.
920
+ *
921
+ * @param axis Whether to group the rows or the columns. When omitted, entire rows group the rows,
922
+ * entire columns group the columns, and any other range groups both.
923
+ * @returns The current `ICellRange`.
924
+ * @throws `Error` If a row or column in the range is already at the deepest level, `7`. Nothing is
925
+ * grouped.
926
+ *
927
+ * @see {@link IWorksheet.getOutline}
928
+ */
929
+ group(axis?: IRange.Axis, options?: ITransaction.OperationOptions): this;
930
+ /**
931
+ * Ungroups the rows or columns of the range: each grouped one moves one outline level out.
932
+ * Rows or columns that are not grouped are left alone.
933
+ *
934
+ * @param axis Whether to ungroup the rows or the columns. When omitted, chosen as for
935
+ * {@link group}.
936
+ * @returns The current `ICellRange`.
937
+ */
938
+ ungroup(axis?: IRange.Axis, options?: ITransaction.OperationOptions): this;
939
+ /**
940
+ * Expands the groups the range selects: those whose summary row or column is in the range or,
941
+ * when there are none, the innermost groups the range meets.
942
+ *
943
+ * @param axis Whether to expand row groups or column groups. Inferred when the range is entire
944
+ * rows or entire columns; required otherwise.
945
+ * @returns The current `ICellRange`.
946
+ * @throws `Error` If the axis is not given and cannot be inferred.
947
+ *
948
+ * @remarks
949
+ * Groups nested inside that are collapsed stay collapsed.
950
+ */
951
+ showGroupDetails(axis?: IRange.Axis, options?: ITransaction.OperationOptions): this;
952
+ /**
953
+ * Collapses the groups the range selects, chosen as for {@link showGroupDetails}: their details are
954
+ * hidden.
955
+ *
956
+ * @param axis Whether to collapse row groups or column groups. Inferred as for
957
+ * {@link showGroupDetails}.
958
+ * @returns The current `ICellRange`.
959
+ * @throws `Error` If the axis is not given and cannot be inferred.
960
+ */
961
+ hideGroupDetails(axis?: IRange.Axis, options?: ITransaction.OperationOptions): this;
962
+ /**
963
+ * Removes the outline levels from the rows and columns of the range. Hidden rows and columns
964
+ * stay hidden.
965
+ *
966
+ * @param axes Which levels to remove. Default `IRange.AxisSelection.Both`.
967
+ * @returns The current `ICellRange`.
968
+ *
969
+ * @remarks
970
+ * The counterpart of Excel's `Range.ClearOutline`: both axes over the range's rows and columns,
971
+ * so entire rows also clear every column's levels unless `axes` names the rows, and a single
972
+ * cell clears the whole sheet. To outline a sheet from its formulas see
973
+ * {@link IOutline.autoOutline}.
974
+ */
975
+ clearGroups(axes?: IRange.AxisSelection, options?: ITransaction.OperationOptions): this;
721
976
  /**
722
977
  * Clear the range.
723
978
  *
724
- * @param applyTo The type of content to clear. Default `ICell.Content.Values`
979
+ * @param applyTo The type of content to clear. Defaults to all`
725
980
  * @returns The current `ICellRange`.
726
981
  */
727
982
  clear(applyTo?: ICell.Content, options?: ITransaction.OperationOptions): this;
@@ -736,15 +991,46 @@ export interface ICellRange {
736
991
  */
737
992
  setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
738
993
  /**
739
- * Update the comments for the range.
994
+ * Sets the text of every cell in the range as formatted runs.
995
+ *
996
+ * @param runs The runs, or plain text for one run. A run's font records what it sets over the
997
+ * cell's font: `{ text: 'Bold', font: { bold: true } }` then `{ text: ' plain' }`.
998
+ * @returns The current `ICellRange`.
999
+ *
1000
+ * @remarks
1001
+ * The value becomes a `RichText`: text to calculation (`LEN`, `&`, `TYPE()` 2) and formatting
1002
+ * to the renderer, carried whole by a reference. A later `setValue` replaces it, runs and all,
1003
+ * as any value write does. Read it with {@link ICell.getRichText}.
1004
+ */
1005
+ setRichText(runs: IRichText.Update, options?: ITransaction.OperationOptions): this;
1006
+ /**
1007
+ * Ignores, or stops ignoring, one of Excel's error checks over the range: the green triangle's
1008
+ * **Ignore Error**.
740
1009
  *
741
- * @param comments Comment properties
1010
+ * @param check The check.
1011
+ * @param ignored `false` to show the check's indicator again. Defaults to `true`.
742
1012
  * @returns The current `ICellRange`.
743
1013
  *
744
1014
  * @remarks
745
- * **NOT FINISHED**
1015
+ * SheetXL does not run the checks yet; the setting is kept for Excel. It follows the cells through
1016
+ * inserts and deletes, is not copied, and is dropped from a cell that is written or cleared, as
1017
+ * in Excel. Read it with {@link ICell.isErrorIgnored}; find it with {@link getRegions} and
1018
+ * {@link Feature.IgnoredErrors}.
746
1019
  */
747
- setComments(comments: IComment.Properties, options?: ITransaction.OperationOptions): this;
1020
+ setErrorIgnored(check: ICell.ErrorCheck, ignored?: boolean, options?: ITransaction.OperationOptions): this;
1021
+ /**
1022
+ * Sets or clears the comment on the range's first cell.
1023
+ *
1024
+ * @param comments Comment modifiers, a plain string as the content, or `null` to remove.
1025
+ * @returns The current `ICellRange`.
1026
+ *
1027
+ * @remarks
1028
+ * A comment is on one cell, so a value goes on the range's top-left cell — updating the comment
1029
+ * there if it has one, adding one otherwise — while `null` clears every comment within the
1030
+ * range. The comment itself is the richer surface: `getWorksheet().getComments()` to add, and
1031
+ * {@link ICell.getComments} to reach the one on a cell.
1032
+ */
1033
+ setComments(comments: IComment.Update, options?: ITransaction.OperationOptions): this;
748
1034
  /**
749
1035
  * Merges all cells within the selection ranges.
750
1036
  *
@@ -873,7 +1159,7 @@ export interface ICellRange {
873
1159
  * @param options If a boolean then this indicates if headers are present.
874
1160
  *
875
1161
  * @remarks
876
- * This behaves similarly to {@link ISheet.getTables.add} but uses the current range
1162
+ * This behaves similarly to {@link IWorksheet.getTables.add} but uses the current range
877
1163
  */
878
1164
  addTable(options?: ITableCollection.AddOptions | boolean): ITable;
879
1165
  /**
@@ -908,6 +1194,24 @@ export interface ICellRange {
908
1194
  * * Will return `null` if nothing was inserted or the source doesn't have a range.
909
1195
  */
910
1196
  insertFrom(source: ICellRange.Address | ICellRange.ISnapshot, options?: ICellRange.InsertFromOptions): Promise<this | null>;
1197
+ /**
1198
+ * Whether {@link insertFrom} would go through, asked without performing it.
1199
+ *
1200
+ * @param source The source that would be inserted - the same argument `insertFrom` takes.
1201
+ * @param options The same options `insertFrom` would be given; `axis` and `isCut` both change the
1202
+ * answer, so pass the ones the real call will use.
1203
+ * @returns `false` when `insertFrom` would refuse, `true` otherwise.
1204
+ *
1205
+ * @remarks
1206
+ * A drop can be refused for reasons the caller cannot see: a cut whose gap the insert would only
1207
+ * half close, a merge the shift would tear or land inside of, a table it would split. This answers
1208
+ * the same question `insertFrom` asks itself before it commits, which is what lets an interactive
1209
+ * drag show a drop as refused BEFORE the user commits to it, rather than reporting an error after.
1210
+ *
1211
+ * It reports only what can be known up front. A refusal raised deeper in the operation (protection,
1212
+ * or content pushed off the end of the sheet) still surfaces as a thrown error.
1213
+ */
1214
+ canInsertFrom(source: ICellRange.Address | ICellRange.ISnapshot, options?: ICellRange.InsertFromOptions): boolean;
911
1215
  /**
912
1216
  * Copies (or cuts) data and formatting from a specified source to the current range.
913
1217
  *
@@ -933,12 +1237,17 @@ export interface ICellRange {
933
1237
  /**
934
1238
  * Perform a set of operations as a batch.
935
1239
  *
936
- * @param callback Function to perform the operations.
1240
+ * @param callback Function to perform the operations. Handed the commit being written and
1241
+ * `range`, this range bound to the batch.
937
1242
  * @param options Description of the operation or additional options. This will be used for tracking undo/redo and history. @defaultValue 'Range Update'
938
1243
  * @template R - The callback return type.
939
1244
  * @returns The result of the callback.
1245
+ *
1246
+ * @remarks
1247
+ * Work through `range` rather than this one: what is reached through it is part of the batch, as
1248
+ * for {@link IWorkbook.doBatch}.
940
1249
  */
941
- doBatch<R>(callback: (commit: ITransaction.ICommit) => Promise<R> | R, options?: string | ITransaction.OperationOptions): Promise<R> | R;
1250
+ doBatch<R>(callback: (commit: ITransaction.ICommit, range: this) => Promise<R> | R, options?: string | ITransaction.OperationOptions): Promise<R> | R;
942
1251
  /**
943
1252
  * Creates a `SparseBuilder` for efficiently updating sparsely populated cells in a streaming low memory way.
944
1253
  *
@@ -1018,11 +1327,17 @@ export interface ICellRange {
1018
1327
  * caller did not ask. To watch a formula belonging to a multi-area rule, fill it first — or use
1019
1328
  * {@link ICellRanges.addWatch}, which does that for every area.
1020
1329
  *
1021
- * Known limits, both from watching the formula's *written* references: a range discovered at
1022
- * evaluation time (`INDIRECT`, `OFFSET`) is not watched, and a volatile formula (`NOW`, `RAND`)
1023
- * has nothing to watch at all. Neither re-fires.
1330
+ * The formula is held by the calculation engine like a formula in a cell: its references follow
1331
+ * row and column inserts and deletes, a reference to deleted cells reads `#REF!`, and undo
1332
+ * restores it. A range the formula discovers at evaluation time (`INDIRECT`, `OFFSET`) is watched
1333
+ * too. A volatile formula (`NOW`, `RAND`) re-evaluates with the engine's pass and does not re-fire
1334
+ * on its own.
1335
+ *
1336
+ * With {@link ICellRange.WatchOptions.arrayFirstCell} each cell is evaluated the way a
1337
+ * conditional-format or data-validation rule evaluates its formula: as an array-entered formula
1338
+ * whose extent is that one cell.
1024
1339
  */
1025
- addWatch(formula: ICalculation.IFormula | string, callback: ICellRange.WatchCallback): IListener.Remove;
1340
+ addWatch(formula: ICalculation.IFormula | string, callback: ICellRange.WatchCallback, options?: ICellRange.WatchOptions): IListener.Remove;
1026
1341
  /**
1027
1342
  * Returns an iterator that allows you to iterate over the individual values within the range.
1028
1343
  *
@@ -1072,11 +1387,17 @@ export interface ICellRange {
1072
1387
  */
1073
1388
  isContentful(features?: ICellRange.Feature | readonly ICellRange.Feature[]): boolean;
1074
1389
  /**
1075
- * Returns `true` if the range represents the entire rows.
1390
+ * Returns `true` if the range is entire rows, such as `2:4`: it spans every column of the sheet.
1391
+ *
1392
+ * @remarks
1393
+ * The counterpart of Office Scripts' `isEntireRow`.
1076
1394
  */
1077
1395
  isEntireRows(): boolean;
1078
1396
  /**
1079
- * Returns `true` if the range represents the entire columns.
1397
+ * Returns `true` if the range is entire columns, such as `B:D`: it spans every row of the sheet.
1398
+ *
1399
+ * @remarks
1400
+ * The counterpart of Office Scripts' `isEntireColumn`.
1080
1401
  */
1081
1402
  isEntireColumns(): boolean;
1082
1403
  /**
@@ -1134,6 +1455,11 @@ export interface ICellRange {
1134
1455
  * @param r1c1 If unspecified returns the environment's default.
1135
1456
  */
1136
1457
  getAddress(r1c1?: boolean): string;
1458
+ /**
1459
+ * @deprecated Use {@link getAddress}.
1460
+ * @hidden
1461
+ */
1462
+ getA1(): string;
1137
1463
  /**
1138
1464
  * Returns the column start.
1139
1465
  */
@@ -1162,7 +1488,7 @@ export interface ICellRange {
1162
1488
  * Checks if the ranges is empty, meaning it has no values or formatting.
1163
1489
  *
1164
1490
  * @remarks
1165
- * Convenience ```getUsedRange() !== null``` or `getCount() === 0`.
1491
+ * Convenience ```getUsedRange() === null```.
1166
1492
  *
1167
1493
  * @see
1168
1494
  * {@link ICellRange.getUsedRange}
@@ -1171,7 +1497,7 @@ export interface ICellRange {
1171
1497
  /**
1172
1498
  * Returns the Sheet.
1173
1499
  */
1174
- getSheet(): ISheet;
1500
+ getWorksheet(): IWorksheet;
1175
1501
  /**
1176
1502
  * The IRange.Coords.
1177
1503
  */
@@ -1229,10 +1555,16 @@ export interface INamedRange extends ICellRange {
1229
1555
  export declare namespace ICellRange {
1230
1556
  /**
1231
1557
  * This is either:
1232
- * 1. A string that can be parsed into a CellRange (e.g. 'A1:B2') or a named range.
1558
+ * 1. A string that can be parsed into a CellRange (e.g. 'A1:B2'), a named range, or a
1559
+ * structured reference (e.g. `'Sales[[#Headers],[Qty]]'`).
1233
1560
  * 2. Another ICellRange
1234
1561
  * 3. An IRange
1235
1562
  * 4. Partial IRange.FixableCoords
1563
+ *
1564
+ * @remarks
1565
+ * A structured reference is read from the active cell: one without a table name (`'[Qty]'`)
1566
+ * refers to the table at the active cell, and `@` (`'Sales[@Qty]'`) to the active cell's row.
1567
+ * References into another workbook are not supported.
1236
1568
  */
1237
1569
  type Address = string | ICellRange | IRange | Readonly<Partial<IRange.FixableCoords>> | ICell.Address | FormulaError.Ref;
1238
1570
  /**
@@ -1258,13 +1590,13 @@ export declare namespace ICellRange {
1258
1590
  */
1259
1591
  type Update = ICell.Update | readonly ICell.Update[][];
1260
1592
  /**
1261
- * A union of either a Scalar and 2D array of Scalars or an IRange.
1593
+ * A 2D array of scalars or an IRange. A single value is a {@link ScalarUpdateOrCallback}.
1262
1594
  */
1263
- type ValuesUpdate = InteropScalarUpdate | IRange | readonly InteropScalarUpdate[][];
1595
+ type ValuesUpdate = IRange | readonly InteropScalarUpdate[][];
1264
1596
  /**
1265
- * Allows for Values to be set via a callback.
1597
+ * A single value, or a callback that yields one per cell.
1266
1598
  */
1267
- type ValuesUpdateOrCallback<T = Scalar> = ValuesUpdate | ((row: number, column: number) => T | null);
1599
+ type ScalarUpdateOrCallback<T = Scalar> = InteropScalarUpdate | ((row: number, column: number) => T | null);
1268
1600
  /**
1269
1601
  * The read options a range carries.
1270
1602
  *
@@ -1294,6 +1626,20 @@ export declare namespace ICellRange {
1294
1626
  * while leaving hidden columns in place.
1295
1627
  */
1296
1628
  ignoreHidden?: boolean | IRange.Axis;
1629
+ /**
1630
+ * Skip cells that only hold a spilled value - the members of a dynamic array's spill.
1631
+ *
1632
+ * @defaultValue false
1633
+ *
1634
+ * @remarks
1635
+ * A spilled value is not a cell's own content: it belongs to the formula at the spill's anchor,
1636
+ * which is NOT skipped. Writing over a spilled cell loses nothing - the spill is blocked and its
1637
+ * anchor reports `#SPILL!` - so this is the lens for "would writing here overwrite anything?".
1638
+ * A blocked spill occupies only its anchor, so the cells it would have taken are never skipped.
1639
+ *
1640
+ * Honored by the aggregates: {@link ICellRange.isContentful} and {@link ICellRange.getCounts}.
1641
+ */
1642
+ ignoreSpilled?: boolean;
1297
1643
  /**
1298
1644
  * The features reads through this range resolve and report.
1299
1645
  *
@@ -1322,10 +1668,71 @@ export declare namespace ICellRange {
1322
1668
  * dropped because the range **is** the address — a second one would be a contradictory scope.
1323
1669
  */
1324
1670
  type GetItemsOptions<T> = Omit<T, 'address'>;
1671
+ /**
1672
+ * Options shared by every operation on a range.
1673
+ *
1674
+ * @remarks
1675
+ * `autoSelect` and `autoFit` are *directives*: they name something to do once the operation
1676
+ * completes rather than a change the operation makes. Both are resolved once, for the whole
1677
+ * operation, and neither adds an undo entry of its own - a batch that sets values and fits
1678
+ * the columns is one undo step that puts both back.
1679
+ */
1680
+ interface OperationOptions extends ITransaction.OperationOptions {
1681
+ /**
1682
+ * Select the affected range once the operation completes.
1683
+ *
1684
+ * @defaultValue `false` - the selection is left alone.
1685
+ *
1686
+ * @remarks
1687
+ * The selection is applied once, after the whole operation - within a batch, the last
1688
+ * operation to ask for one wins. It is applied only if the selection is still where it was
1689
+ * when the operation began: a user who moved while it ran keeps where they went.
1690
+ *
1691
+ * Pass it for an edit the user made. A script that passes neither this nor
1692
+ * {@link autoSelectRestore} never moves the user, whether it runs, is undone or is redone.
1693
+ */
1694
+ autoSelect?: boolean | ICellRange.SelectOptions;
1695
+ /**
1696
+ * Select the affected range when the operation is undone or redone.
1697
+ *
1698
+ * @defaultValue {@link autoSelect}
1699
+ *
1700
+ * @remarks
1701
+ * An undo lands where the operation began - for most operations the range they affected, for
1702
+ * an auto-fill the template it was dragged from - and a redo where it left the user. Within a
1703
+ * batch an undo lands where the first operation to ask says, a redo where the last one does.
1704
+ *
1705
+ * For an edit made from where the user already is, pass this without {@link autoSelect}: a
1706
+ * value typed into a cell of a selected block leaves the block selected, and undoing it
1707
+ * selects the cell.
1708
+ */
1709
+ autoSelectRestore?: boolean | ICellRange.SelectOptions;
1710
+ /**
1711
+ * Fit the affected columns and rows to their content once the operation completes.
1712
+ *
1713
+ * @defaultValue the rows only, as Excel sizes them: a row with no custom height fits its
1714
+ * content (growing or shrinking); a custom height and every column width are left alone.
1715
+ *
1716
+ * @remarks
1717
+ * The fit runs once, as the last write of the operation, so it measures the finished
1718
+ * content and its sizes belong to the same undo entry - one undo puts both the content
1719
+ * and the sizes back.
1720
+ *
1721
+ * Pass `false` to leave every size alone. Pass `true` to fit as the UI does - rows and columns:
1722
+ ```
1723
+ {
1724
+ skipCustomSize: true,
1725
+ expandOnly: 'column', // columns only grow; rows fit exactly
1726
+ minContent: true
1727
+ }
1728
+ ```
1729
+ */
1730
+ autoFit?: boolean | ICellRange.AutoFitOptions;
1731
+ }
1325
1732
  /**
1326
1733
  * Options for adding an auto table to a range.
1327
1734
  */
1328
- interface AddAutoTableOptions extends ITransaction.OperationOptions {
1735
+ interface AddAutoTableOptions extends ICellRange.OperationOptions {
1329
1736
  /**
1330
1737
  * Include sort options.
1331
1738
  */
@@ -1340,9 +1747,9 @@ export declare namespace ICellRange {
1340
1747
  replaceExisting?: boolean;
1341
1748
  }
1342
1749
  /**
1343
- * Options for `ICellRange.delete`.
1750
+ * Options for `ICellRange.insert`.
1344
1751
  */
1345
- interface InsertOptions extends ITransaction.OperationOptions {
1752
+ interface InsertOptions extends ICellRange.OperationOptions {
1346
1753
  /**
1347
1754
  * The direction in which to shift existing cells.
1348
1755
  *
@@ -1367,11 +1774,17 @@ export declare namespace ICellRange {
1367
1774
  * @defaultValue `false` (classic shift-cells)
1368
1775
  */
1369
1776
  span?: boolean;
1777
+ /**
1778
+ * Fit the inserted rows and columns to their content once the insert completes.
1779
+ *
1780
+ * @defaultValue `false` - inserted rows and columns take the default size.
1781
+ */
1782
+ autoFit?: boolean | ICellRange.AutoFitOptions;
1370
1783
  }
1371
1784
  /**
1372
1785
  * Options for `ICellRange.delete`.
1373
1786
  */
1374
- interface DeleteOptions extends ITransaction.OperationOptions {
1787
+ interface DeleteOptions extends ICellRange.OperationOptions {
1375
1788
  /**
1376
1789
  * The direction in which to shift existing cells.
1377
1790
  *
@@ -1389,6 +1802,12 @@ export declare namespace ICellRange {
1389
1802
  * @defaultValue `false` (classic shift-cells)
1390
1803
  */
1391
1804
  span?: boolean;
1805
+ /**
1806
+ * Fit the rows and columns the remaining cells shift into once the delete completes.
1807
+ *
1808
+ * @defaultValue `false` - a delete moves rows and columns with the sizes they have.
1809
+ */
1810
+ autoFit?: boolean | ICellRange.AutoFitOptions;
1392
1811
  }
1393
1812
  /**
1394
1813
  * Options for configuring range coordinate reference types.
@@ -1474,8 +1893,9 @@ export declare namespace ICellRange {
1474
1893
  * @defaultValue false
1475
1894
  *
1476
1895
  * @remarks
1477
- * If `true` then tables and sheet boundaries will be ignored mimicking the behavior
1478
- * of 'Ctrl+Shift+*'.
1896
+ * If `true`, the region is the contiguous block of content around the range (Excel's
1897
+ * 'Ctrl+Shift+*' current region): tables are not treated as regions of their own, and a range
1898
+ * with no content nearby returns itself rather than the entire sheet.
1479
1899
  */
1480
1900
  contentOnly?: boolean;
1481
1901
  }
@@ -1491,7 +1911,7 @@ export declare namespace ICellRange {
1491
1911
  /**
1492
1912
  * Options for {@link ICellRange.ISnapshot.copyTo}.
1493
1913
  */
1494
- interface CopyOptions extends ITransaction.OperationOptions, ReferenceableClipboard.CopyOptions {
1914
+ interface CopyOptions extends ICellRange.OperationOptions, ReferenceableClipboard.CopyOptions {
1495
1915
  /**
1496
1916
  * When pasting from a smaller range to a larger range copy will repeat or 'wallpaper' the
1497
1917
  * source values.
@@ -1546,7 +1966,7 @@ export declare namespace ICellRange {
1546
1966
  /**
1547
1967
  * Options for {@link ICellRange.setValues}.
1548
1968
  */
1549
- interface SetValuesOptions extends ITransaction.OperationOptions {
1969
+ interface SetValuesOptions extends ICellRange.OperationOptions {
1550
1970
  /**
1551
1971
  * By default setValue will attempt to parse text values into a native type.
1552
1972
  * This can be disabled or customized using the parseText flag.
@@ -1562,21 +1982,6 @@ export declare namespace ICellRange {
1562
1982
  * Both {@link SetValuesOptions} and {@link GetValuesOptions} allow for {@link IRange.Axis}s.
1563
1983
  */
1564
1984
  axis?: IRange.Axis;
1565
- /**
1566
- * Convenience method that calls autoFit after the setValues.
1567
- * @defaultValue `none` - No autofit.
1568
- *
1569
- * @remarks
1570
- * If set to `true` then autoFit will mimic the UI with the following options:
1571
- ```
1572
- {
1573
- skipCustomSize: true,
1574
- expandOnly: true,
1575
- minContent: true
1576
- }
1577
- ```
1578
- */
1579
- autoFit?: boolean | ICellRange.AutoFitOptions;
1580
1985
  /**
1581
1986
  * Skip the bounds check when setting values.
1582
1987
  *
@@ -1587,6 +1992,43 @@ export declare namespace ICellRange {
1587
1992
  * size requires processing the entire dataset.
1588
1993
  */
1589
1994
  skipBoundsCheck?: boolean;
1995
+ /**
1996
+ * Enter a single formula as an array formula (Excel's Ctrl+Shift+Enter) over the whole range.
1997
+ *
1998
+ * @defaultValue `false`
1999
+ *
2000
+ * @remarks
2001
+ * The range is the block's extent and the formula sits at its top-left; the result is fitted
2002
+ * to the extent rather than spilling from it - a dimension of 1 broadcasts, a longer one is
2003
+ * clipped, a shorter one is padded with `#N/A` - and the block never resizes. Its cells can
2004
+ * only be changed as a whole: overwriting, clearing, or inserting/deleting through part of a
2005
+ * block is refused ("You can't change part of an array"); rewriting it through this option
2006
+ * with the same range replaces it.
2007
+ *
2008
+ * Only meaningful for {@link ICellRange.setFormula} with one formula.
2009
+ */
2010
+ arrayFixed?: boolean;
2011
+ /**
2012
+ * Give each entered formula the number format of the first cell it reads that has one, or
2013
+ * failing that the format its result carries, once it has been calculated.
2014
+ *
2015
+ * @defaultValue `false` - the cell keeps the format it has.
2016
+ *
2017
+ * @remarks
2018
+ * What typing a formula into a cell does: `=A1*2` shows currency when `A1` does, `=NOW()`
2019
+ * shows a date, `=DATE(2024,1,15)` a short date. A cell the formula reads ranks ahead of a
2020
+ * function's format (`=A1+TODAY()` is currency when `A1` is); references are taken in the
2021
+ * order written, a range stands for its top-left cell, and a reference a function only
2022
+ * points at (`=ROW(A1)`, `=OFFSET(A1,0,0)`) does not count. The format becomes the cell's
2023
+ * own, exactly as if set by hand, so it stays when the formula is replaced by a value and is
2024
+ * part of the same undo entry as the formula. A format the cell already had wins.
2025
+ *
2026
+ * Only the formulas this operation enters are formatted, and only when they are first
2027
+ * compiled and calculated - a later recalculation of the same cell changes nothing, and
2028
+ * neither does formatting a cell it reads. Pair with {@link OperationOptions.autoFit} to also
2029
+ * widen a column the formatted result no longer fits.
2030
+ */
2031
+ autoFormat?: boolean;
1590
2032
  }
1591
2033
  /**
1592
2034
  * Options for {@link ICellRange.getValues}.
@@ -1651,7 +2093,7 @@ export declare namespace ICellRange {
1651
2093
  /**
1652
2094
  * Fit to what **formula view** displays rather than to the rendered values.
1653
2095
  *
1654
- * @defaultValue the sheet view's {@link ISheetView.isShowFormulas}
2096
+ * @defaultValue the sheet view's {@link IWorksheetView.isShowFormulas}
1655
2097
  *
1656
2098
  * @remarks
1657
2099
  * In formula view a cell with a formula shows `=` + its formula text, and every other cell
@@ -1729,7 +2171,7 @@ export declare namespace ICellRange {
1729
2171
  /**
1730
2172
  * Options for {@link ICellRange.autoFill}.
1731
2173
  */
1732
- interface AutoFillOptions extends ITransaction.OperationOptions {
2174
+ interface AutoFillOptions extends ICellRange.OperationOptions {
1733
2175
  /**
1734
2176
  * Provide custom fillers.
1735
2177
  *
@@ -1743,11 +2185,21 @@ export declare namespace ICellRange {
1743
2185
  */
1744
2186
  fillerOptions?: IAutoFill.Options;
1745
2187
  /**
1746
- * If `true` then will only copy values and not formatting.
2188
+ * Which part of the cells the fill carries — the same selector {@link CopyOptions.type} takes.
1747
2189
  *
1748
- * @defaultValue false (unless starting within a table)
2190
+ * @defaultValue Everything: values, formulas and formatting.
2191
+ *
2192
+ * @remarks
2193
+ * * {@link ICell.Content.Formats} is Excel's *Fill Formatting Only*: the template's formatting
2194
+ * (styles, number formats, merges, conditional formats and validations) is tiled into the
2195
+ * destination and the values already there are left alone. The `filler` is not consulted.
2196
+ * * {@link ICell.Content.Values} is *Fill Without Formatting*: the series is written and the
2197
+ * destination keeps its own formatting — a date series lands as plain serials in a cell that
2198
+ * has no date format of its own.
2199
+ * * On a shrinking destination the vacated cells lose only the selected part.
2200
+ * * Any other member throws — a fill has no notion of copying just hyperlinks or comments.
1749
2201
  */
1750
- contentsOnly?: boolean;
2202
+ type?: ICell.Content;
1751
2203
  /**
1752
2204
  * Compute the fill but commit nothing — the returned range is a projection of the result.
1753
2205
  *
@@ -1874,7 +2326,7 @@ export declare namespace ICellRange {
1874
2326
  /**
1875
2327
  * Options for {@link ICellRange.textToColumns}.
1876
2328
  */
1877
- interface TextToColumnsOptions extends ITransaction.OperationOptions {
2329
+ interface TextToColumnsOptions extends ICellRange.OperationOptions {
1878
2330
  /**
1879
2331
  * The character used to split the text.
1880
2332
  *
@@ -1940,7 +2392,7 @@ export declare namespace ICellRange {
1940
2392
  /**
1941
2393
  * Options for {@link ICellRange.removeDuplicates}.
1942
2394
  */
1943
- interface RemoveDuplicatesOptions extends ITransaction.OperationOptions {
2395
+ interface RemoveDuplicatesOptions extends ICellRange.OperationOptions {
1944
2396
  /**
1945
2397
  * Indicates if the range has a header row.
1946
2398
  *
@@ -2082,17 +2534,34 @@ export declare namespace ICellRange {
2082
2534
  * Represents an immutable reference to an `ICellRange`, capturing its content and metadata.
2083
2535
  * It may include complex objects such as tables, movables, images, listeners, or other items.
2084
2536
  *
2085
- * `ISnapshot` can be provided to `ICellRange.copyFrom``.
2537
+ * `ISnapshot` can be provided to `ICellRange.copyFrom`.
2086
2538
  */
2087
2539
  interface ISnapshot<T = any, J = any> {
2540
+ /**
2541
+ * Does the asynchronous work a paste needs, before {@link copyTo} is called.
2542
+ *
2543
+ * @remarks
2544
+ * `ICellRange.copyFrom` calls this first, outside any transaction, and then `copyTo` inside
2545
+ * the paste's transaction. Anything that has to wait - loading a kind of content, decoding an
2546
+ * image - is done here, so that `copyTo` can complete synchronously. A snapshot with nothing
2547
+ * to wait for leaves this out, or returns `void`; the paste then runs to its commit in the
2548
+ * caller's synchronous extent.
2549
+ *
2550
+ * @param destination The `ICellRange` the snapshot will be copied to, as the caller gave it.
2551
+ */
2552
+ prepare?(destination: ICellRange, options?: ICellRange.CopyOptions): Promise<void> | void;
2088
2553
  /**
2089
2554
  * Copies the snapshot to the specified range.
2090
2555
  *
2556
+ * @remarks
2557
+ * The copy is made inside the paste's transaction, so it completes synchronously; anything
2558
+ * that has to wait belongs in {@link prepare}.
2559
+ *
2091
2560
  * @param destination The destination `ICellRange` where the snapshot will be copied.
2092
2561
  *
2093
- * @returns A promise that resolves when the copy is complete, or `void` if no asynchronous operation is required.
2562
+ * @returns The coordinates the copy covered, or `null` when it placed no cells.
2094
2563
  */
2095
- copyTo(destination: ICellRange, options?: ICellRange.CopyOptions): Promise<IRange.Coords | null> | IRange.Coords | null;
2564
+ copyTo(destination: ICellRange, options?: ICellRange.CopyOptions): IRange.Coords | null;
2096
2565
  /**
2097
2566
  * Return the options used when creating.
2098
2567
  * @remarks
@@ -2170,12 +2639,12 @@ export declare namespace ICellRange {
2170
2639
  * over the content-style map). `Notes` joins when the backing is implemented; a feature that
2171
2640
  * silently reports nothing is worse than a missing one.
2172
2641
  *
2173
- * `String`/`Number`/`Boolean` are deliberately absent, even though they are real `ScalarType`
2174
- * values. This vocabulary is for things with a spatial identity — a fill, a formula, an
2175
- * occupied cell — and a scalar kind has none: it is read straight off the value, which is
2642
+ * `String`/`Number`/`Boolean` are deliberately absent as separate members, even though they are
2643
+ * real `ScalarType` values. "How many numbers" is a count read straight off the values, which is
2176
2644
  * exactly the one pass `IRangeStats.getTypedCounts()` already makes, richer (it composes with
2177
- * aggregates and frequencies for free, in the same call). `getCounts`/`getRegions`/
2178
- * `isContentful` were never the right vocabulary for "how many numbers" — `range.getStats()` is.
2645
+ * aggregates and frequencies for free, in the same call) — `range.getStats()` is the vocabulary
2646
+ * for that. *Where* the numbers are is a partition, and that is the one {@link Feature.Kind}
2647
+ * answers: a typed row inside a block of text is a region of its own.
2179
2648
  *
2180
2649
  * `Error` stays, for a reason unrelated to the above: it has real spatial identity of its own
2181
2650
  * (the reconciled error view) and partitions like any stored feature — it was never in the same
@@ -2193,6 +2662,34 @@ export declare namespace ICellRange {
2193
2662
  * Occupancy — splits on blank/non-blank, Excel `CurrentRegion` semantics.
2194
2663
  */
2195
2664
  readonly Contentful: "contentful";
2665
+ /**
2666
+ * What a cell holds: a number, a date, text, text that would enter as a number, a boolean, an
2667
+ * error or rich data. A formula cell is the kind of its result.
2668
+ *
2669
+ * @remarks
2670
+ * Regions group by kind, so a column of numbers with one text cell in it is three regions. A
2671
+ * date is a number under a date or time format (the cell's `getInteropType()` is `date`).
2672
+ * Text that a typed entry would read as a number (`'123`, a number imported as text) is a kind
2673
+ * of its own, apart from other text: it is Excel's number stored as text. The anchor's
2674
+ * `getInteropType()` names the kind of every other region.
2675
+ *
2676
+ * Derived from the values on first read and cached until the sheet changes.
2677
+ */
2678
+ readonly Kind: "kind";
2679
+ /**
2680
+ * A cell's job in the model ({@link ICell.Role}): a typed `label` or `input`, a `link` to
2681
+ * another sheet, a `reference` on this sheet, a `computed` cell or an `output`, from what the
2682
+ * cell reads and who reads it. The anchor's {@link ICell.getRole} is the payload.
2683
+ *
2684
+ * @remarks
2685
+ * The kind layer refined by the formulas: a column of typed numbers a model reads is one
2686
+ * `input` region, the links beside it another. Crossed with a format (`['role', 'font']`) it is
2687
+ * the census a color convention is judged by, and what the `styleRole` check reads.
2688
+ *
2689
+ * Derived on first read (the formulas parsed once) and cached until the sheet changes, so
2690
+ * {@link ICellRange.getCounts} counts it only when asked for by name, like `anomalies`.
2691
+ */
2692
+ readonly Role: "role";
2196
2693
  /**
2197
2694
  * Direct date-category number format — `yyyy-mm-dd`, `mm/dd/yyyy`, and the like.
2198
2695
  *
@@ -2229,13 +2726,18 @@ export declare namespace ICellRange {
2229
2726
  /** Direct fill. */
2230
2727
  readonly Fill: "fill";
2231
2728
  /** Direct borders. */
2232
- readonly Border: "border";
2729
+ readonly Borders: "borders";
2233
2730
  /** Direct number format. Region payloads carry the format string and its category. */
2234
2731
  readonly NumberFormat: "numberFormat";
2235
2732
  /** Direct alignment. */
2236
2733
  readonly Alignment: "alignment";
2237
2734
  /** Direct font. */
2238
2735
  readonly Font: "font";
2736
+ /**
2737
+ * Direct cell protection format (`ICellStyle.getProtection()`): always unlocked, show formulas.
2738
+ * A cell with none of its own reads its named style's, then Normal's.
2739
+ */
2740
+ readonly Protection: "protection";
2239
2741
  /** Merged spans. */
2240
2742
  readonly Merge: "merge";
2241
2743
  /** Table membership. */
@@ -2244,14 +2746,55 @@ export declare namespace ICellRange {
2244
2746
  readonly AutoTable: "autoTable";
2245
2747
  /** Has a hyperlink. */
2246
2748
  readonly Hyperlink: "hyperlink";
2749
+ /**
2750
+ * Ignores one or more of Excel's error checks. Regions group by the set of checks ignored.
2751
+ * @see {@link ICellRange.setErrorIgnored}
2752
+ */
2753
+ readonly IgnoredErrors: "ignoredErrors";
2247
2754
  /** Has comments. */
2248
2755
  readonly Comments: "comments";
2249
- /** Explicitly unlocked cells — *can I write here* is a precondition, not a detail. */
2756
+ /**
2757
+ * Unlocked cells — covered by an unlocked range, or with an always-unlocked style. *Can I write
2758
+ * here* is a precondition, not a detail.
2759
+ */
2250
2760
  readonly Unlock: "unlock";
2251
2761
  /** Cells under conditional-format rules. */
2252
2762
  readonly Conditionals: "conditionals";
2253
2763
  /** Cells under data-validation rules. */
2254
2764
  readonly DataValidations: "dataValidations";
2765
+ /**
2766
+ * Cells where an error check fires — what breaks the pattern around it. Regions group by the
2767
+ * check and its evidence, so a filled row that breaks the same way is one region; the anchor
2768
+ * cell's {@link ICell.getAnomalies} is the payload.
2769
+ *
2770
+ * @remarks
2771
+ * Excel's background error checks, run over this vocabulary's own partitions rather than cell
2772
+ * by cell: a formula region whose neighbors on both sides agree with each other and not with
2773
+ * it (`formula`), a range that stops one number short (`formulaRange`), text that reads as a
2774
+ * number (`numberStoredAsText`), a reference to an empty cell (`emptyCellReference`), a
2775
+ * formula left unlocked (`unlockedFormula`). The first of these is one rule SheetXL runs on
2776
+ * other layers too: a typed value in a run of formulas (`hardcodeInRun`), and an authored
2777
+ * format that breaks the run around it (`styleBreak`); and a format part paired with the
2778
+ * cell's role, a link left black where links are green (`styleRole`). Then SheetXL's own, read from what a
2779
+ * formula says: a cell counted twice in one sum (`repeatedReference`), an aggregate of one cell
2780
+ * or of typed numbers (`degenerateCall`), a sum holding its own subtotal (`sumIncludesSubtotal`),
2781
+ * a total that also adds a cell outside its block (`misalignedReference`),
2782
+ * a nearest-key lookup (`approximateMatch`), lookup arrays that do not line up (`lookupShape`),
2783
+ * a reference outside the workbook (`externalReference`); and from labels: a link whose target
2784
+ * row is labeled otherwise (`linkLabelMismatch`), a lookup key that is not the row's or
2785
+ * column's label (`keyLabelMismatch`), a link with the other sign from its siblings
2786
+ * (`signVsSiblings`). An ignored check ({@link ICellRange.setErrorIgnored}) does not fire.
2787
+ *
2788
+ * Regions list highest rank first ({@link ICell.Anomaly.rank}), unless an `axis` is asked for.
2789
+ *
2790
+ * The checks that read a formula need the calculation engine to have loaded its parser, and
2791
+ * those that read its references need it to have compiled the formula; with the engine off
2792
+ * they do not fire.
2793
+ *
2794
+ * Derived on first read and cached until the sheet changes, so {@link ICellRange.getCounts}
2795
+ * counts it only when asked for by name; otherwise its key is absent, never `0`.
2796
+ */
2797
+ readonly Anomalies: "anomalies";
2255
2798
  };
2256
2799
  type Feature = typeof Feature[keyof typeof Feature];
2257
2800
  /**
@@ -2261,9 +2804,17 @@ export declare namespace ICellRange {
2261
2804
  * Total, not partial — every public {@link ICellRange.Feature} is present, absent features
2262
2805
  * as explicit zeros. A zero is a fact about the range; a missing key would be ambiguous.
2263
2806
  *
2807
+ * The exceptions are `anomalies` and `role`: each is derived, not stored, so it is present only
2808
+ * when it was requested by name. A count that was never taken is absent rather than a `0` that
2809
+ * would read as "nothing fires here".
2810
+ *
2264
2811
  * The brand is non-enumerable: `Object.keys`/`entries` yield exactly the feature keys.
2265
2812
  */
2266
- interface Counts extends Readonly<Record<ICellRange.Feature, number>> {
2813
+ interface Counts extends Readonly<Record<Exclude<ICellRange.Feature, typeof Feature.Anomalies | typeof Feature.Role>, number>> {
2814
+ /** Present only when `anomalies` was requested by name; see {@link Feature.Anomalies}. */
2815
+ readonly anomalies?: number;
2816
+ /** Present only when `role` was requested by name; see {@link Feature.Role}. */
2817
+ readonly role?: number;
2267
2818
  /**
2268
2819
  * For runtime type checking.
2269
2820
  */
@@ -2296,6 +2847,29 @@ export declare namespace ICellRange {
2296
2847
  */
2297
2848
  containment?: 'intersects' | 'fullyContained';
2298
2849
  }
2850
+ /**
2851
+ * Options for {@link ICellRange.getAnomalies}.
2852
+ */
2853
+ interface GetAnomaliesOptions {
2854
+ /**
2855
+ * The checks to list first, in this order of priority; an unknown name throws.
2856
+ *
2857
+ * @defaultValue none — every region by rank
2858
+ */
2859
+ checks?: readonly ICell.ErrorCheck[];
2860
+ /**
2861
+ * At most this many regions.
2862
+ *
2863
+ * @defaultValue every region
2864
+ */
2865
+ limit?: number;
2866
+ /**
2867
+ * Regions to skip first, so `{ limit: 25, offset: 25 }` is the window after `{ limit: 25 }`.
2868
+ *
2869
+ * @defaultValue 0
2870
+ */
2871
+ offset?: number;
2872
+ }
2299
2873
  interface ScrollIntoViewOptions extends globalThis.ScrollIntoViewOptions {
2300
2874
  /**
2301
2875
  * If provided then will only scroll in the provided axis.
@@ -2437,10 +3011,13 @@ export declare namespace ICellRange {
2437
3011
  }
2438
3012
  interface Event {
2439
3013
  /**
2440
- * The source of the event. This will be a readonly range.
3014
+ * The range that was listened to, where it is now.
2441
3015
  *
2442
3016
  * @remarks
2443
- * This may change shape due to insert/delete/move of cells or sheets.
3017
+ * After a `'address'` or `'restore'` event this is the range at its new address or extent: rows
3018
+ * or columns inserted or deleted around it, or an undo that moved it back. The range
3019
+ * `addListener` was called on keeps the address it was made with, so this is where to read
3020
+ * the range from.
2444
3021
  */
2445
3022
  getSource<T = ICellRange | ICellRanges>(): T;
2446
3023
  /**
@@ -2450,10 +3027,6 @@ export declare namespace ICellRange {
2450
3027
  * This is different than the source range as that is the entire range area that was listened to.
2451
3028
  */
2452
3029
  getFrom(): ICellRanges;
2453
- /**
2454
- * Used for moves. Represents the new location of the data that has changed.
2455
- */
2456
- getTo?(): ICellRange;
2457
3030
  /**
2458
3031
  * Returns a list of updates that occurred during the event. This is only available for data change events and will be `null` for address or restore events.
2459
3032
  */
@@ -2464,7 +3037,10 @@ export declare namespace ICellRange {
2464
3037
  * * `'data'`: Data within the range has changed.
2465
3038
  * The range's address and dimensions remain the same.
2466
3039
  * * `'address'`: The range's *address* or *dimensions* have changed. This
2467
- * occurs due to row/column insertions, deletions, or move operations.
3040
+ * occurs due to row/column insertions, deletions, or move operations — and, for a
3041
+ * sheet-qualified range (one from {@link IWorkbook.getRange}, or a sheet's range naming
3042
+ * another sheet), when the sheet it names is renamed. A bare range on its own sheet has no
3043
+ * qualifier, so a rename is not a change to it.
2468
3044
  * * `'restore'`: The range has been restored to a different revision
2469
3045
  * (undo/redo). The 'restore' trigger is not available for transactional listeners.
2470
3046
  */
@@ -2526,44 +3102,75 @@ export declare namespace ICellRange {
2526
3102
  interface WatchCallback {
2527
3103
  (values: IRange): void;
2528
3104
  }
3105
+ /**
3106
+ * Options for {@link ICellRange.addWatch}.
3107
+ */
3108
+ interface WatchOptions {
3109
+ /**
3110
+ * Evaluate each cell of the range as an array-entered formula whose extent is that one cell.
3111
+ *
3112
+ * @remarks
3113
+ * This is how a conditional-format or data-validation formula is evaluated. Nothing
3114
+ * implicitly intersects — a range reads as the whole array wherever it appears — and each
3115
+ * cell keeps the top-left value of its own result, the way an array-entered formula fits its
3116
+ * result to its extent. So `$J$1:$J$9="x"` answers `J1="x"` in every cell, while
3117
+ * `SUM(IF($J$1:$J$9="x",1,0))>1` still sums the whole array. A relative range moves with the
3118
+ * cell, so `$J1:$J9="x"` answers each row's own `J` cell.
3119
+ *
3120
+ * By default a cell whose result is an array spills, as a formula filled across the range
3121
+ * would.
3122
+ *
3123
+ * @defaultValue `false`
3124
+ */
3125
+ arrayFirstCell?: boolean;
3126
+ }
2529
3127
  /**
2530
3128
  * Options to control which events trigger a listener. By default, all
2531
3129
  * event types will trigger the listener. Setting any of these options to
2532
3130
  * `true` will *prevent* the listener from being called for that event type.
2533
3131
  */
2534
3132
  interface ListenerOptions {
2535
- /**
2536
- * The actual range can also change due to insert/removes or delete of a sheet.
2537
- * Setting absoluteCoords to `true` will ignore shifts in the range.
2538
- *
2539
- * @defaultValue false
2540
- */
2541
- ignoreShifts?: boolean;
2542
3133
  /**
2543
3134
  * If `true`, the listener will *not* be called when the range's
2544
- * address changes (due to row/column insert/delete, or moves)
3135
+ * address changes (due to row/column insert/delete, moves, or a rename of
3136
+ * the sheet a qualified range names)
2545
3137
  *
2546
3138
  * @defaultValue false
2547
3139
  */
2548
3140
  ignoreAddressChanges?: boolean;
2549
3141
  /**
2550
- * If `true`, the listener will be treated as *transactional*. This has
2551
- * a few implications:
2552
- *
2553
- * 1. **Synchronous Execution:** The listener will be called *synchronously*
2554
- * as part of the same transaction that triggered the event. Any
2555
- * side-effects of the listener will be included in the transaction's
2556
- * commit history.
2557
- * 2. **No 'restore' Events:** Transactional listeners will *never* receive
2558
- * 'restore' events. They are only concerned with changes within the
2559
- * current transaction.
2560
- *
2561
- * If `false` (the default), the listener will be called *asynchronously*
2562
- * after the transaction is complete. The listener's side-effects will
2563
- * *not* be part of the transaction's commit history.
2564
- *
2565
- * @defaultValue false
2566
- */
3142
+ * Whether the listener takes part in the operations that change its range.
3143
+ *
3144
+ * @defaultValue `true` when the listener is added through a range reached through the object a
3145
+ * batch hands its callback ({@link IWorkbook.doBatch}, {@link IWorksheet.doBatch},
3146
+ * {@link doBatch}), and `false` otherwise.
3147
+ *
3148
+ * @remarks
3149
+ * A transactional listener (a participant):
3150
+ * * added through a batch, is told as each operation of that batch is made, before the
3151
+ * operation returns, with what that operation changed. It is not told again when the batch
3152
+ * lands;
3153
+ * * added any other way, is told once at the end of each operation, before it is committed;
3154
+ * * writes into the same commit as the change it was told of, so one undo takes back both;
3155
+ * * is never told of an undo or a redo, and is removed by undoing the operation that added it.
3156
+ * If its batch fails, it is told nothing more and goes with the batch.
3157
+ *
3158
+ * A non-transactional listener (an observer) is told once, after the operation has landed,
3159
+ * with everything the operation changed in its range, and not at all if the operation is
3160
+ * rolled back. What it writes is an operation of its own. It is told of an undo or a redo
3161
+ * (`'restore'`), and it survives them.
3162
+ *
3163
+ * @example
3164
+ * ```ts
3165
+ * await workbook.doBatch(async (_commit, wb) => {
3166
+ * const total = wb.getSelectedWorksheet()!.getRange('B1');
3167
+ * const input = wb.getSelectedWorksheet()!.getRange('A1');
3168
+ * input.addListener(() => total.setValue((input.getValue() as number) * 2)); // a participant
3169
+ * input.setValue(21);
3170
+ * total.getValue(); // 42
3171
+ * });
3172
+ * ```
3173
+ */
2567
3174
  transactional?: boolean;
2568
3175
  /**
2569
3176
  * If `true`, the listener will *not* be called when the data