@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
@@ -150,7 +150,7 @@ isDirect: boolean, errors?: 'reject' | 'accept' | null): IRange | any[][] | Form
150
150
  * evaluated argument; see `isDirectArg` in `TypedFunction`.
151
151
  *
152
152
  * Two things it is NOT, both measured (`probe-direct-vs-literal.ps1`, pinned in
153
- * `functions2/coercion/DIRECT-VS-MEMBER.json`):
153
+ * `__tests__/functions/coercion/DIRECT-VS-MEMBER.json`):
154
154
  *
155
155
  * - **Not literalness.** `{1,TRUE}` and `A1:A2` behave IDENTICALLY (members of both are filtered),
156
156
  * and the COMPUTED `A2>0` behaves like a typed `TRUE`. A container being a literal or a
@@ -171,28 +171,56 @@ export declare function addCoercedValue(context: IFormulaContext, coercedArr: Fi
171
171
  allowError: boolean, flatten: boolean, // indicates we should flatten
172
172
  errors?: 'reject' | 'accept' | null, // effective error policy (TypedFunction resolves the default)
173
173
  noMemberFilter?: boolean): FormulaError.Known | void;
174
+ /**
175
+ * The depth-0 half of {@link addCoercedValue} for a SCALAR slot: `value` is already a single
176
+ * value — a typed or computed scalar, a blank, an error, rich data, or the member a one-cell
177
+ * reference was dereferenced to — never a container or coords. Same rules, same order, same
178
+ * verdicts as the general path, which still serves everything else; this exists so the common
179
+ * call (a number at a number slot) pays for no container questions.
180
+ *
181
+ * `isDirect` is the argument's own directness (a dereferenced cell is NOT direct): it gates the
182
+ * quoted-boolean parse, and nothing else — a scalar slot has no members, so the dereferenced
183
+ * value coerces with the direct rules exactly as it does in the general path (`ABS(A1)` is 1 for
184
+ * A1=TRUE).
185
+ */
186
+ export declare function addCoercedScalar(context: IFormulaContext, coercedArr: FixedPackedArray, value: any, isDirect: boolean, scalarType: ScalarType | null, allowError: boolean, errors: 'reject' | 'accept' | null): FormulaError.Known | void;
174
187
  /**
175
188
  * Minimal validation used from the return value of functions.
176
189
  */
177
190
  /**
178
- * Makes a raw JS double look like an Excel one. Excel arithmetic has neither Infinity nor
179
- * subnormals, and this is the single rule that enforces both. Measured against Excel 16.0
180
- * (formula-tests: probe-num-overflow.ps1, probe-boundaries.ps1, probe-api-nonfinite.ps1):
181
- *
182
- * * ANY non-finite value is #NUM! — NaN and ±Infinity alike. `9E+307*2`, `9E+307+9E+307` and
183
- * `9E+307/0.1` all report `ERROR.TYPE` 6, and a raw NaN or ±Infinity written through the
184
- * Value2 API lands as #NUM! too. Infinity does NOT mean #DIV/0!: Excel never derives that
185
- * error from a float, it raises it deliberately before dividing. Functions say so themselves
186
- * by returning `FormulaError.BuiltIn.Div0`.
187
- * * a magnitude below the smallest NORMAL double flushes to ZERO, which also folds -0 to 0.
188
- * `1E-300*2.224E-8` is 0 while `1E-300*2.226E-8` survives, and the flush lands before the next
189
- * operator reads it — `=1/(1E-300*1E-100)` is #DIV/0!, not a huge number. The API agrees:
190
- * writing `Double.Epsilon` reads back 0.
191
- *
192
- * Excel applies this at EVERY boundary, so SheetXL does too — `minCoerce` for a calculated
193
- * result, and the cell-write path for a value handed in through the API.
191
+ * Makes a raw JS double look like an Excel one: ANY non-finite value is #NUM! — NaN and
192
+ * ±Infinity alike. `9E+307*2`, `9E+307+9E+307` and `9E+307/0.1` all report `ERROR.TYPE` 6, and a
193
+ * raw NaN or ±Infinity written through the Value2 API lands as #NUM! too. Infinity does NOT mean
194
+ * #DIV/0!: Excel never derives that error from a float, it raises it deliberately before
195
+ * dividing. Functions say so themselves by returning `FormulaError.BuiltIn.Div0`.
196
+ *
197
+ * Measured against Excel 16.0 (formula-tests: probe-num-overflow.ps1, probe-boundaries.ps1,
198
+ * probe-api-nonfinite.ps1). This rule applies at every boundary; the SUBNORMAL rule does not —
199
+ * see {@link flushSubnormal}.
194
200
  */
195
201
  export declare function normalizeNumber(value: number): number | FormulaError.Known;
202
+ /**
203
+ * Zeroes a magnitude below the smallest NORMAL double, which also folds -0 to 0.
204
+ *
205
+ * "Excel has no subnormals" is true of its ARITHMETIC and of its write path, and false of its
206
+ * function results — so this is a rule three callers apply deliberately rather than one the
207
+ * boundary applies to everything (measured 2026-08-30,
208
+ * `fn-battery/mathTrig/adhoc-subnormal-store`):
209
+ *
210
+ * * MULTIPLICATION, DIVISION and EXPONENTIATION flush. `1E-300*2.224E-8` is 0 while
211
+ * `1E-300*2.226E-8` survives, `2^-1022/2` is 0, and the flush lands before the next operator
212
+ * reads it — `=1/(1E-300*1E-100)` is #DIV/0!, not a huge number.
213
+ * * ADDITION and SUBTRACTION do NOT. With `Z1` holding 5E-324, `Z1+0`, `-Z1` and `Z1+Z1` all
214
+ * keep the value, and `Z1*1` is 0.
215
+ * * A FUNCTION RESULT does not either, and it survives the cell it is stored in: `EXP(-745)` is
216
+ * 5E-324 and `EXP(-745)*1E300` is 4.94E-24. SUM, MIN, ABS, IF, INDEX and ROUND all pass it
217
+ * through. EXP reaches zero only below -745.1332, the true IEEE underflow.
218
+ * * The API WRITE path flushes: `Double.Epsilon` set through `Value2` reads back 0.
219
+ * * The BOOLEAN reading flushes, and so does `SWITCH`'s comparison — both are tests against zero
220
+ * (`IF(EXP(-745),…)` takes the false branch and `SWITCH(EXP(-745),0,…)` matches), which the
221
+ * comparison OPERATORS do not do: `EXP(-745)=0` is FALSE.
222
+ */
223
+ export declare function flushSubnormal(value: number): number;
196
224
  export declare function minCoerce(value: any, context?: IFormulaContext | null, type?: string): any;
197
225
  /**
198
226
  * Loads a (possibly nested) array literal into a sparse grid and returns the pieces a `Range`
@@ -219,8 +247,12 @@ export interface FixedPackedArray<T = any> {
219
247
  /**
220
248
  * V8 Optimization
221
249
  *
222
- * Is seems the new Array(length) because it uses holey arrays.
223
- * Push causes reallocation a bunch times.
250
+ * Builds an array that V8 keeps in `PACKED_ELEMENTS`, every slot set to `value`.
251
+ *
252
+ * A bare `new Array(length)` is holey, and each read from a holey array pays a
253
+ * hole check (~35% on a linear scan). Both branches here produce the same map;
254
+ * they differ only in how fast they build, and the threshold is the point where
255
+ * the per-call cost of `fill` stops dominating the per-element cost of `push`.
224
256
  *
225
257
  * This should be only used for reusable arrays where they are long lived
226
258
  * and need to be fast (and not resized (much)).
@@ -229,6 +261,11 @@ export declare function createPackedArray<T = any>(length: number, value?: T): T
229
261
  /**
230
262
  * Create a packed array but with undefined values.
231
263
  *
264
+ * `undefined` here is a real element in every slot, not a hole; the array is
265
+ * packed exactly as {@link createPackedArray} is. Kept separate rather than
266
+ * delegating because passing `undefined` as an argument would take the
267
+ * `value=null` default.
268
+ *
232
269
  * @see createPackedArray
233
270
  */
234
271
  export declare function createEmptyPackedArray<T = any>(length: number): T[];
@@ -18,26 +18,46 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
18
18
  protected _localRangeStats: IRangeStats | null;
19
19
  /** The `options` {@link _localRangeStats} was built for — the memo's key. See `getStats`. */
20
20
  protected _localRangeStatsOptions: IRange.IteratorOptions | undefined;
21
- constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean);
21
+ /**
22
+ * What a cell the grid does not store reads as - `null` for an ordinary range.
23
+ *
24
+ * @remarks
25
+ * A grid can hold only part of its range's answer: a watch body's blank region shares one value
26
+ * that the engine keeps on the block rather than writing per cell (PLAN-WATCHES-BLANK-AWARE
27
+ * §4c), so within that body "absent" means "the shared answer", never "empty". A range with a
28
+ * non-null empty value is therefore DENSE: `getValueAt` answers it for every absent cell, and
29
+ * the iterators visit those cells whether or not `includeEmpty` was asked, since they are
30
+ * content. A STORED empty (`null`) is still empty.
31
+ *
32
+ * It is also how an elementwise operation carries its answer for the blank cells: `map`,
33
+ * `broadcast` and `zip` walk what their operands STORE, answer the absent region once, and
34
+ * hand that answer to the result here rather than writing it as a run per line — so the next
35
+ * operator finds the blank region again and a whole-column chain stays O(stored + runs)
36
+ * (CALC-PERFORMANCE §5). `fillEmpty` over the whole range sets it the same way.
37
+ *
38
+ * Every reader agrees on it: the iterators and `getValueAt` above; a transform over the same
39
+ * grid carries it (`slice`, `toType`, `clone`); one that derives a grid either writes every
40
+ * position or writes it out first (`_materializeEmpty` — `resize`, `tile`, a partial `fill`);
41
+ * and a reader that goes to the grid rather than through the range (the stats walk, the calc
42
+ * grid's write of a result, a sheet write) reads the written-out grid.
43
+ */
44
+ protected _absentValue: Scalar;
45
+ constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean, absentValue?: Scalar);
22
46
  /** @inheritdoc IRange.argsort */
23
47
  argsort(keyRanges?: IRange | IRange[], orders?: number | number[], axis?: IRange.Axis): number[];
24
48
  /** @inheritdoc IRange.uniqueIndices */
25
49
  uniqueIndices(axis?: IRange.Axis, exactlyOnce?: boolean): number[];
26
50
  /** @inheritdoc IRange.broadcast */
27
51
  broadcast<TS extends Scalar = T>(other: IRange | TS, callbackFn: (a: TS, b: TS, coords: IRange.CellCoords, range: IRange<T>) => TS, options?: IRange.BroadcastOptions): this;
28
- /**
29
- * {@link broadcast} against a scalar operand: this range's OWN entries, with every empty position
30
- * written as a run of one computed value. See the call site for why the general path cannot.
31
- *
32
- * @remarks
33
- * Reached only for a coord-blind callback, so the single empty call carries the origin coords.
34
- */
35
- private _broadcastScalar;
36
52
  /** @inheritdoc IRange.choose */
37
53
  choose<TS extends Scalar = T>(from: (IRange<TS> | TS)[], selectFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => MaybeError<number>, options?: IRange.ValuesOptions): this;
38
54
  /** @inheritdoc IRange.clear */
39
55
  clear(): this;
40
- /** @inheritdoc IRange.clone */
56
+ /**
57
+ * @inheritdoc IRange.clone
58
+ * @param options Read options for the clone, over this range's own: a `processRowSkip` here is
59
+ * a clone that reads without those rows.
60
+ */
41
61
  clone(options?: IRange.IteratorOptions, isLiteral?: boolean, isDirectScalar?: boolean): this;
42
62
  /** @inheritdoc IRange.compute */
43
63
  compute(fn: (range: IRange) => IRange): this;
@@ -55,12 +75,34 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
55
75
  fill(value: Scalar, coords?: Partial<IRange.Coords>): this;
56
76
  /** @inheritdoc IRange.fillEmpty */
57
77
  fillEmpty(value: Scalar, coords?: Partial<IRange.Coords>): this;
78
+ /**
79
+ * Writes `value` at every absent position of `absCoords` as runs — the stored form of
80
+ * {@link fillEmpty}, for the case the absent value cannot express (a partial fill), and of
81
+ * {@link _materializeEmpty}.
82
+ * The result reads its grid alone (no empty value).
83
+ */
84
+ protected _fillAbsent(value: Scalar, absCoords: IRange.Coords): this;
85
+ /**
86
+ * This range with its empty value WRITTEN — every absent cell stored as runs of it — for a
87
+ * reader that goes to the grid rather than through the range: the stats walk, the calc grid's
88
+ * write of a result, a sheet write. `this` when there is nothing to write.
89
+ * @internal
90
+ */
91
+ _materializeEmpty(): this;
58
92
  /** @inheritdoc IRange.filter */
59
93
  filter<TS extends Scalar = T>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => boolean, options?: IRange.IteratorOptions): this;
94
+ /** @inheritdoc IRange.firstError */
95
+ firstError(): FormulaError.Known | null;
60
96
  /** @inheritdoc IRange.flatten */
61
97
  flatten(options?: IRange.IteratorOptions): this;
62
98
  /** @inheritdoc IRange.getValuesFlat */
63
99
  getValuesFlat<TS extends Scalar = T>(options?: IRange.IteratorOptions): TS[];
100
+ /** @inheritdoc IRange.indexOf */
101
+ indexOf(value: Scalar, options?: IRange.IndexOfOptions): number;
102
+ /**
103
+ * The row-major walk behind {@link indexOf}, for the reads the run index cannot answer.
104
+ */
105
+ protected _indexOfScan(value: Scalar, reverse: boolean): number;
64
106
  /** @inheritdoc IRange.forEach */
65
107
  forEach<TS extends Scalar = T, B = any>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => {
66
108
  break: B;
@@ -76,6 +118,8 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
76
118
  };
77
119
  /** @inheritdoc IRange.getStats */
78
120
  getStats(options?: IRange.IteratorOptions): IRangeStats;
121
+ /** The stats without the typed-read fault — what `hasError()` and the fault itself read. */
122
+ protected _getStats(options?: IRange.IteratorOptions): IRangeStats;
79
123
  /** @inheritdoc IRange.hasError */
80
124
  hasError(): boolean;
81
125
  /** {@inheritDoc IRange.getType} */
@@ -85,7 +129,15 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
85
129
  /** @inheritdoc IRange.getValues */
86
130
  getValues<TS extends Scalar = T>(options?: IRange.GetValuesOptions): TS[][];
87
131
  /** @inheritdoc IRange.map */
88
- map<TS extends Scalar = T>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => TS, options?: IRange.IteratorOptions): this;
132
+ map<TS extends Scalar = T>(callbackFn: (value: TS, coords: IRange.CellCoords, range: IRange<T>) => TS, options?: IRange.MapOptions): this;
133
+ /**
134
+ * {@link map} over what the grid stores: one call per stored member, one per run holding one
135
+ * value, and under `once` one for the absent region — whose answer is the result's empty value,
136
+ * so the next consumer finds the blank region again (CALC-PERFORMANCE §5). A member the
137
+ * callback empties (`null`) and a blank region it answers cannot share the one absent state,
138
+ * so in that one case the region's answer is written out as runs.
139
+ */
140
+ private _mapRuns;
89
141
  /** @inheritdoc IRange.mask */
90
142
  mask<TS extends Scalar = T>(conditions: IRange | TS, isTrues?: IRange | TS, options?: IRange.MaskOptions): this;
91
143
  /** @inheritdoc IRange.alignValues */
@@ -135,17 +187,25 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
135
187
  /** @inheritdoc IRange.values */
136
188
  values<T extends Scalar = Scalar>(options?: IRange.IteratorOptions): IterableIterator<T>;
137
189
  /** @inheritdoc IRange.zip */
138
- zip(others: (IRange | Scalar)[], callbackFn: (values: Scalar[], coords: IRange.CellCoords, range: IRange<T>) => Scalar, options?: IRange.IteratorOptions): this;
139
- /** {@inheritDoc IRange.isLiteral} */
140
- isLiteral(): boolean;
141
- /** Not on IRange — the boxed-bare-scalar flag; see `_isDirectScalar`. */
142
- isDirectScalar(): boolean;
143
- /** {@inheritDoc IRange.isScalar} */
144
- isScalar(): boolean;
190
+ zip(others: (IRange | Scalar)[], callbackFn: (values: Scalar[], coords: IRange.CellCoords, range: IRange<T>) => Scalar, options?: IRange.ZipOptions): this;
191
+ /**
192
+ * The array-constant flag (`_isLiteral`), for the ENGINE only — the coercion alias that makes
193
+ * a typed `{…}` direct for a slot's coercion. Excel's runtime has no literal kind (a typed and
194
+ * a computed array are both `Array`), so a function body never reads it: bodies ask
195
+ * `FormulaContext.getArgs().getKindAt`, and the reference-vs-array question is
196
+ * `isIReferenceRange`.
197
+ * @internal
198
+ */
199
+ _isLiteralArray(): boolean;
200
+ /**
201
+ * The boxed-bare-scalar flag (`_isDirectScalar`), for the ENGINE only — the box is call-local
202
+ * plumbing (born at a slot, unboxed at the call exit) and a function body never reads it:
203
+ * bodies ask `FormulaContext.getArgs().getKindAt`.
204
+ * @internal
205
+ */
206
+ _isDirectScalarBox(): boolean;
145
207
  /** {@inheritDoc IRange.isEmpty} */
146
208
  isEmpty(): boolean;
147
- /** {@inheritDoc IRange.isVector} */
148
- isVector(): boolean;
149
209
  /** @inheritdoc IRange.size */
150
210
  get size(): number;
151
211
  /** {@inheritDoc IRange[Symbol.iterator]} */
@@ -159,6 +219,17 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
159
219
  protected _entries(options?: IRange.IteratorOptions & {
160
220
  reuseResult?: boolean;
161
221
  }): IGrid.EntryIterator<Scalar>;
222
+ /**
223
+ * The read `_entries` applies to one member under `options` - the typed coercion, its error
224
+ * policy, what an absent cell reads as - as a function, so a walk over runs (`RunHead`) reads a
225
+ * member exactly as the entry iterator would. Only a TYPED read (`options.type`) coerces; a raw
226
+ * read hands the member back, and an absent one (`undefined` in) as the empty value.
227
+ *
228
+ * @returns The value the member reads as, or `undefined` when the read DROPS it: a typed read
229
+ * filters what it cannot coerce - the declaration that the type is strict, so an aggregate
230
+ * ignores stray text the way Excel does - unless `includeEmpty` keeps it as an empty.
231
+ */
232
+ protected _memberReader(options: IRange.IteratorOptions | undefined, includeEmpty: boolean): (fromValue: Scalar | undefined) => Scalar | undefined;
162
233
  /**
163
234
  * Finds an absolute intersection given a relative coord.
164
235
  */
@@ -191,12 +262,49 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
191
262
  * (`SUMPRODUCT(--ISNUMBER(SEARCH(...)))` → 0).
192
263
  */
193
264
  protected _untyped(): this;
265
+ /** This range's options without its skips: for a result whose cells are laid out anew. */
266
+ protected _optionsFresh(): Omit<IRange.IteratorOptions, 'axis'> & {
267
+ axis?: IRange.Axis;
268
+ };
269
+ /**
270
+ * This range's options for a result over the same grid at `coords`: its skips count from this
271
+ * range's origin and cover its shape, so a result whose origin moved (a slice) asks them with
272
+ * the difference, and one that grew (a resize) asks them for the cells it had and leaves the
273
+ * rest alone. `null` coords - a result laid out anew - carry no skip.
274
+ *
275
+ * @remarks
276
+ * The rule the skips follow: a result whose cells sit where this range's do (a slice, a fill, a
277
+ * resize, a map) keeps them, since it is written over a copy of this grid and the cells the skip
278
+ * left alone still hold what the source does; one laid out anew (`empty()`, a compaction, a
279
+ * reflow) drops them ({@link _optionsFresh}).
280
+ */
281
+ protected _optionsAt(coords: IRange.Coords | null): Omit<IRange.IteratorOptions, 'axis'> & {
282
+ axis?: IRange.Axis;
283
+ };
284
+ /** Whether this range's own options skip anything. */
285
+ protected _hasSkips(): boolean;
286
+ /**
287
+ * Iterator options with their skips asked in the GRID's indexes rather than this range's: what
288
+ * the grid's own iterators take. The options themselves when they skip nothing.
289
+ */
290
+ protected _skipsOnGrid<O extends IRange.IteratorOptions>(options: O): O;
194
291
  protected _createBuilder(axis?: IRange.Axis): Tuple.IBuilder;
195
- protected _applyBuilder(values: ISparseGrid<Scalar>, builder: Tuple.IBuilder, clone?: boolean): ISparseGrid<Scalar>;
196
- protected _cloneFromBuilder(builder: Tuple.IBuilder | undefined, deletes?: ISpatialMap.IConflatingEntries | null): this;
292
+ /**
293
+ * Writes `region` into `values`: its clears first, unless `fresh` (a grid that stores nothing
294
+ * there), then its tuples.
295
+ */
296
+ protected _applyRegion(values: ISparseGrid<Scalar>, region: Tuple.Region | null, fresh: boolean): void;
297
+ /**
298
+ * @param absentValue What the result's absent cells read as. Defaults to this range's own: the
299
+ * result is this grid written into, so what it lacked it still lacks. A caller whose writes
300
+ * changed that says so (`map`; `_fillAbsent`, which wrote it out).
301
+ */
302
+ protected _cloneFromBuilder(builder: Tuple.IBuilder | undefined, deletes?: ISpatialMap.IConflatingEntries | null, fresh?: boolean, absentValue?: Scalar): this;
303
+ /** {@link _cloneFromBuilder} from a built region, whose clears are applied with the deletes. */
304
+ protected _cloneFromRegion(region: Tuple.Region | null, deletes?: ISpatialMap.IConflatingEntries | null, fresh?: boolean, absentValue?: Scalar): this;
197
305
  protected _coerceValue<TS extends Scalar>(fromValue: Scalar, toType: ScalarType, options?: IRange.ValueOptions, fromType?: ScalarType): TS;
198
306
  protected _mergeIterators<T = Scalar>(that: Range, callbackFn?: (a: T, b: T, coords: IRange.CellCoords, range: IRange) => T, options?: IRange.IteratorOptions): Tuple.IBuilder;
199
- protected _newRange(values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean): this;
307
+ protected _newRange(values: ISparseGrid<Scalar>, coords: IRange.Coords | null, optionsIterator?: IRange.IteratorOptions | null, isLiteral?: boolean, isDirectScalar?: boolean, absentValue?: Scalar): this;
200
308
  /** @inheritdoc IRange.isIRange */
201
309
  get isIRange(): true;
202
310
  }
@@ -217,7 +325,7 @@ export declare class Range<T extends Scalar = Scalar> implements IRange<T> {
217
325
  export declare class _VisibleScopedRange extends Range {
218
326
  protected _visibleCoords: readonly IRange.Coords[];
219
327
  constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords, visibleCoords: readonly IRange.Coords[]);
220
- /** {@inheritDoc IRange.getStats} */
221
- getStats(options?: IRange.IteratorOptions): IRangeStats;
328
+ /** The rescoped stats; `getStats` (the typed-read fault) is inherited and reads through here. */
329
+ protected _getStats(options?: IRange.IteratorOptions): IRangeStats;
222
330
  }
223
331
  //# sourceMappingURL=Range.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { ScalarType, IRange, IRuntime, IRangeStats, Scalar } from '@sheetxl/primitives';
2
2
  import { ISparseGrid } from '../collections';
3
- import { SortedNumbers, AggSegmentCache } from './stats';
3
+ import { SortedNumbers, AggSegmentCache, AggResults } from './stats';
4
4
  export declare class RangeStats implements IRangeStats {
5
5
  protected _runtime: IRuntime;
6
6
  protected _grid: ISparseGrid<Scalar>;
@@ -9,20 +9,48 @@ export declare class RangeStats implements IRangeStats {
9
9
  protected _iteratorOptions?: IRange.IteratorOptions;
10
10
  protected _segmentCache: AggSegmentCache;
11
11
  protected _ZoneSizeMinor: number;
12
+ /**
13
+ * The first row and column of the range whose options these are, which its `processRowSkip` /
14
+ * `processColumnSkip` count from; `undefined` when the options skip nothing.
15
+ */
16
+ protected _skipOrigin: IRange.CellCoords | undefined;
12
17
  protected _sortedNumbers: SortedNumbers | undefined;
13
18
  protected _aggregates: IRangeStats.Aggregates | undefined;
14
19
  protected _typedCounts: Readonly<Record<ScalarType, number>> | undefined;
20
+ /**
21
+ * The raw results of the ONE walk this instance has done, whichever consumer asked first.
22
+ * `count`, `typed` and the numeric aggregates are all recorded by the same pass and none of
23
+ * them depends on `onError` (the segment cache's own contract — only `coerce` changes content),
24
+ * so the typed counts a reject scan asks for and the aggregates the body then asks for come
25
+ * from a single scan instead of two. A partial-zone range (a `SUM($K$51:K#)` running total)
26
+ * never caches at the segment level, so without this every such call scanned twice.
27
+ * Two-state: `undefined` = not walked yet, `null` = walked, the grid was empty.
28
+ */
29
+ protected _raw: AggResults | null | undefined;
15
30
  protected _frequencies: Readonly<IRangeStats.IFrequency> | undefined;
16
31
  protected _ranked: readonly Scalar[] | undefined;
17
32
  protected _lastNumber: number | null | undefined;
18
- constructor(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords?: readonly (IRange.Coords | null)[], options?: IRange.IteratorOptions, segmentCache?: AggSegmentCache, zoneSizeMinor?: number);
33
+ constructor(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords?: readonly (IRange.Coords | null)[], options?: IRange.IteratorOptions, segmentCache?: AggSegmentCache, zoneSizeMinor?: number, skipOrigin?: IRange.CellCoords);
34
+ /**
35
+ * The values grid this instance measures. Its owner re-points the cache when the map is
36
+ * replaced, which a clone of the map is.
37
+ */
38
+ getGrid(): ISparseGrid<Scalar>;
19
39
  clone(grid?: ISparseGrid<Scalar>, localCoords?: readonly (IRange.Coords | null)[]): this;
20
40
  clear(): void;
21
41
  /** Lazily resolved, then held for this instance's lifetime like the other per-instance results. */
22
42
  protected _getLastNumber(): number | undefined;
23
43
  toLocalCoords(coords: IRange.Coords | readonly IRange.Coords[], iteratorOptions?: IRange.IteratorOptions): IRangeStats;
44
+ /** @inheritdoc IRangeStats.getCoords */
45
+ getCoords(): IRange.Coords | null;
24
46
  /** @inheritdoc IRangeStats.getSize */
25
47
  getSize(): number;
48
+ /**
49
+ * The instance's one walk (see `_raw`), taken with errors as population — the contract of
50
+ * every consumer that counts. Reused by the aggregate path when the instance's own error
51
+ * policy has no side effect to replay.
52
+ */
53
+ protected _walk(): AggResults | null;
26
54
  /** @inheritdoc IRangeStats.getCount */
27
55
  getCount(): number;
28
56
  /** @inheritdoc IRangeStats.getAggregates */
@@ -1,14 +1,58 @@
1
1
  import { Scalar, ScalarType, IReferenceRange, IRange, IRuntime } from '@sheetxl/primitives';
2
2
  import { ISparseGrid } from '../collections';
3
3
  import { Range } from './Range';
4
+ /**
5
+ * Answers "is there an error value within these coords" for the grid a reference reads, from an
6
+ * index rather than a scan. The calculation grid maintains one at every write; a reference built
7
+ * over any other grid has none and scans.
8
+ */
9
+ export interface ReferenceErrorIndex {
10
+ hasErrorIn(coords: IRange.Coords): boolean;
11
+ }
12
+ /** @internal */
13
+ export declare function _setReferenceErrorIndexAssert(enabled: boolean): void;
4
14
  export declare class ReferenceRange extends Range implements IReferenceRange {
5
15
  protected _getEntireCoords: () => IRange.Coords;
6
16
  protected _resolveScope: (scope: string) => string | undefined;
17
+ /** The grid's error index, when the reference reads a grid that keeps one. */
18
+ protected _errorIndex: ReferenceErrorIndex | null;
19
+ /**
20
+ * Told when a body reads this reference's POSITION (`getCoords`). A reference's values are a
21
+ * property of what it points at; its address is a property of which cell is asking, so a
22
+ * formula that reads it (`ROW(A13)`, `CELL("address",A13)`) shares its answer with another cell
23
+ * only where the position cannot matter — see `CalcScope.positionRead`. Set by the context that builds the reference; a view
24
+ * (`slice`, `toType`) carries it.
25
+ */
26
+ protected _onCoordsRead: (() => void) | null;
7
27
  constructor(runtime: IRuntime, values: ISparseGrid<Scalar>, coords: IRange.Coords, options: IRange.ValueOptions | null | undefined, getEntireCoords: (() => IRange.Coords) | undefined, resolveScope: (scope: string) => string | undefined);
8
28
  /** @inheritdoc IReferenceRange.getCoords */
9
29
  getCoords(): Readonly<IRange.Coords>;
10
30
  /** @inheritdoc IReferenceRange.isIReferenceRange */
11
31
  get isIReferenceRange(): true;
32
+ /**
33
+ * @internal
34
+ * Attaches the error index of the grid this reference reads. Set by the context that builds
35
+ * the reference; a typed view (`toType`) carries it.
36
+ */
37
+ _setErrorIndex(index: ReferenceErrorIndex | null): void;
38
+ /**
39
+ * @internal
40
+ * Attaches the hook a position read reports to — see {@link _onCoordsRead}.
41
+ */
42
+ _setCoordsReadHook(hook: (() => void) | null): void;
43
+ /** @inheritdoc IRange.hasError */
44
+ hasError(): boolean;
45
+ /** @inheritdoc IRange.slice */
46
+ slice(coords: Partial<IRange.Coords>): this;
47
+ /** @inheritdoc Range.clone */
48
+ clone(options?: IRange.IteratorOptions, isLiteral?: boolean, isDirectScalar?: boolean): this;
49
+ /**
50
+ * @internal
51
+ * The reference DEMOTED to its values: a plain `Range` over the same grid and coords, with no
52
+ * reference identity. The call-exit applies this to a VALUE-declared function's reference
53
+ * result (IFERROR/IFNA's surviving branch — ISREF of it is FALSE, measured; TypedFunction §3.1).
54
+ */
55
+ _toValueRange(): IRange;
12
56
  /** @inheritdoc IRange.toType */
13
57
  toType(type: ScalarType | IRange.ValueOptions): this;
14
58
  protected _validateCoords(coords: Partial<IRange.Coords>): void;
@@ -17,12 +17,23 @@ export interface RuntimeOptions {
17
17
  */
18
18
  getLocaleOverrides?: () => LocaleProfileOverrides | null;
19
19
  /**
20
- * Returns now as a long date time.
20
+ * The clock behind {@link IRuntime.getNow}, as epoch milliseconds — not a serial date.
21
21
  *
22
22
  * @remarks
23
- * This is not a serial date here.
23
+ * Pinning it makes `NOW` and `TODAY` reproducible. A workbook that builds its own runtime pins
24
+ * this to the current commit's timestamp, so supplying a runtime without one hands those
25
+ * functions the wall clock instead.
24
26
  */
25
27
  getNow?: () => number;
28
+ /**
29
+ * The value behind {@link IRuntime.getRandom}, drawn once per calculation pass — `Math.random`
30
+ * unless a host pins it.
31
+ *
32
+ * @remarks
33
+ * Pinning it makes every draw in the workbook reproducible. Like a pinned clock it is a
34
+ * whole-run choice: collaborators who do not pin the same value do not draw the same values.
35
+ */
36
+ getRandom?: () => number;
26
37
  }
27
38
  export declare const defaultLocale: () => string;
28
39
  export declare const languageLocale: () => string | null;
@@ -37,6 +48,8 @@ export declare class Runtime implements IRuntime {
37
48
  getLocale(): string;
38
49
  /** @inheritdoc IRuntime.getNow */
39
50
  getNow(): number;
51
+ /** @inheritdoc IRuntime.getRandom */
52
+ getRandom(): number;
40
53
  /** @inheritdoc IRuntime.getLocaleProfile */
41
54
  getLocaleProfile(): LocaleProfile;
42
55
  /** @inheritdoc IRuntime.isDate1904 */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The runtime location - the current page url in the browser.
3
+ */
4
+ export declare function getLocation(): string;
5
+ /**
6
+ * The OS platform, used by the `INFO("system")` formula.
7
+ */
8
+ export declare function getOS(): string;
9
+ //# sourceMappingURL=environment.browser.d.ts.map
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The runtime location - the current working directory in node.
3
+ */
4
+ export declare function getLocation(): string;
5
+ /**
6
+ * The OS platform, used by the `INFO("system")` formula. `process.platform` is available
7
+ * synchronously without importing `os`.
8
+ */
9
+ export declare function getOS(): string;
10
+ //# sourceMappingURL=environment.node.d.ts.map
@@ -37,8 +37,52 @@ export type AggResults = {
37
37
  export type AggSegmentCache = {
38
38
  coerce: unknown;
39
39
  byRun: WeakMap<IListLike<Scalar>, AggResults[]>;
40
+ /**
41
+ * The segments of a walk that SKIPS cells (`IRange.IteratorOptions.processRowSkip`), by the
42
+ * skip and the origin it counts from: a segment's content then depends on which cells the skip
43
+ * leaves out, and a caller that keeps one skip (the engine's, per hidden set) keeps its zones.
44
+ */
45
+ bySkip: WeakMap<SkipProcessor, Map<number, WeakMap<IListLike<Scalar>, AggResults[]>>>;
40
46
  };
41
47
  export declare const createAggSegmentCache: () => AggSegmentCache;
48
+ /** A skip as `IRange.IteratorOptions.processRowSkip` gives one: the index to read at or past `index`. */
49
+ export type SkipProcessor = (index: number, reverse?: boolean) => number;
50
+ /**
51
+ * A skip a walk honors, on one axis of the grid: the range's callback, which counts from the
52
+ * range's origin on that axis, asked with a grid index less that origin.
53
+ */
54
+ export interface WalkSkip {
55
+ readonly skip: SkipProcessor;
56
+ readonly origin: number;
57
+ }
58
+ /** The skips of a walk, by the grid's axes. */
59
+ export interface WalkSkips {
60
+ /** The skip along the grid's major axis: a run it skips is left out whole. */
61
+ readonly major: WalkSkip | null;
62
+ /** The skip along the grid's minor axis: the cells of a run it skips. */
63
+ readonly minor: WalkSkip | null;
64
+ }
65
+ /**
66
+ * The skips `options` ask for, by the grid's axes; `null` when it asks for none.
67
+ *
68
+ * @param origin The range's first row and column on the grid, which its callbacks count from.
69
+ */
70
+ export declare function resolveSkips(options: IRange.IteratorOptions | undefined, isColumn: boolean, origin: IRange.CellCoords | undefined): WalkSkips | null;
71
+ /** Whether the skip leaves out the grid index. */
72
+ export declare const isSkipped: (skip: WalkSkip, index: number) => boolean;
73
+ /**
74
+ * The grid index to read at or past `index` (at or before, when `reverse`): `index` itself when
75
+ * the skip reads it. A walk moves straight to it, so a hidden block costs one call, not one per
76
+ * cell.
77
+ */
78
+ export declare const nextRead: (skip: WalkSkip, index: number, reverse?: boolean) => number;
79
+ /**
80
+ * How many cells of `coords` a read under `options` takes in: the population blanks are counted
81
+ * from. A skipped cell is outside it, so it is never a blank.
82
+ *
83
+ * @param origin As {@link resolveSkips}.
84
+ */
85
+ export declare function countReadCells(options: IRange.IteratorOptions | undefined, coords: IRange.Coords, origin: IRange.CellCoords | undefined): number;
42
86
  export declare const resolveAggSegmentCache: (grid: ISparseGrid<Scalar>, inherit?: AggSegmentCache) => AggSegmentCache;
43
87
  /**
44
88
  * The default minor zone size for segment caching.
@@ -61,13 +105,13 @@ export declare const EmptyAggregates: Readonly<IRangeStats.Aggregates>;
61
105
  *
62
106
  * @remarks
63
107
  * Results are built using a segment cache keyed by run identity (`segmentsByRun`).
64
- * The cache is shared across all coord shapes that derive from the same root `RangeStats`
65
- * instance (via `toLocalCoords`), so segment aggregates computed for one shape are reused
66
- * by any other shape that overlaps the same run segments.
108
+ * The cache is grid-scoped (see `resolveAggSegmentCache`), so segment aggregates computed for
109
+ * one coord shape are reused by any other shape over the same grid lineage that overlaps the
110
+ * same run segments.
67
111
  *
68
112
  * Returns `null` when the grid is empty.
69
113
  */
70
- export declare function iterateAndCollectStats(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords: readonly (IRange.Coords | null)[], optionsIterator: IRange.IteratorOptions | undefined, segmentCache: AggSegmentCache, zoneSizeMinor: number): AggResults | null;
114
+ export declare function iterateAndCollectStats(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords: readonly (IRange.Coords | null)[], optionsIterator: IRange.IteratorOptions | undefined, segmentCache: AggSegmentCache, zoneSizeMinor: number, skipOrigin?: IRange.CellCoords): AggResults | null;
71
115
  /**
72
116
  * The value Excel added LAST — the final numeric member in ROW-major order, which is the
73
117
  * traversal Excel's accumulators use (measured: `probe-sum-cancel-order.ps1`, two mirrored 2-D
@@ -87,7 +131,7 @@ export declare function iterateAndCollectStats(runtime: IRuntime, grid: ISparseG
87
131
  * `(row, col)` is used rather than reverse iteration because the grid's run iterator has no
88
132
  * reverse, and this way the result is independent of the grid's axis.
89
133
  */
90
- export declare function findLastNumber(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords: readonly (IRange.Coords | null)[], optionsIterator: IRange.IteratorOptions | undefined): number | undefined;
134
+ export declare function findLastNumber(runtime: IRuntime, grid: ISparseGrid<Scalar>, range: IRange | null, localCoords: readonly (IRange.Coords | null)[], optionsIterator: IRange.IteratorOptions | undefined, skipOrigin?: IRange.CellCoords): number | undefined;
91
135
  /**
92
136
  * Resolves an iterator's `coerce` option into the callable pair the scans use.
93
137
  *
@@ -106,14 +150,4 @@ export declare function resolveCoerce(runtime: IRuntime, optionsIterator: IRange
106
150
  * Computes derived fields (average, variance, stdDev) and normalizes missing-number fields to null.
107
151
  */
108
152
  export declare function buildAggregates(raw: AggResults | null): Readonly<IRangeStats.Aggregates>;
109
- /**
110
- * Calculates an optimal zone size for a given grid minor dimension.
111
- *
112
- * @remarks
113
- * Strategy: target ~128 segments per full column/row to balance cache granularity
114
- * (smaller = better reuse for small queries) vs. iteration overhead (fewer = faster
115
- * full-column scans). Result is rounded up to the nearest power of 2 and clamped to
116
- * [256, 16384].
117
- */
118
- export declare function calculateZoneSize(maxMinorDimension: number): number;
119
153
  //# sourceMappingURL=AggregateStats.d.ts.map
@@ -40,4 +40,17 @@ export declare const mayCancel: (sum: number, largestMag: number) => boolean;
40
40
  * `SUM(1E-20)` → `1E-20`.
41
41
  */
42
42
  export declare const snapCancelledSum: (sum: number, lastNumber: number | undefined) => number;
43
+ /**
44
+ * The rule itself, for one addition whose left operand is known: `result` is `0` when it lands
45
+ * at least 50 binary exponents below `accBefore`.
46
+ *
47
+ * @param result The sum (or difference) just computed.
48
+ * @param accBefore What was already accumulated — the left operand of a root `+`/`-`.
49
+ *
50
+ * @remarks
51
+ * A binary `+`/`-` is the one-step case of the sum rule: `=H4+H9` (`1 + -(1-2^-50)`) is `0`
52
+ * while `=H9+H4` keeps `8.88178419700125E-16`, the same order dependence as `SUM`. A non-finite
53
+ * result is never a cancellation (see {@link mayCancel}).
54
+ */
55
+ export declare const snapCancelled: (result: number, accBefore: number) => number;
43
56
  //# sourceMappingURL=Cancellation.d.ts.map