@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
@@ -1,131 +1,191 @@
1
- import { IRange, IFormulaContext, IRuntime, Scalar } from '@sheetxl/primitives';
1
+ import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
2
+ import { IListener } from '../listener';
2
3
  import { FunctionProvider } from '@sheetxl/scripting';
3
4
  import { AbstractModel, IModel } from '../model';
5
+ import { ITransaction } from '../transaction';
4
6
  import { IStringCollection } from '../string';
5
7
  import { IFunctionCollection } from '../scripting';
6
- import { ISpatialMap, ISpatialMap3D } from '../collections';
7
8
  import { INamed, INamedCollection } from '../named';
8
9
  import { ICellRange, ICellRanges } from '../cellRange';
9
- import { _NamedGraphNode } from '../cellRange/_GraphNode';
10
- import { FormulaBlockResolvers } from './formula';
10
+ import { NamedNodeInfo } from './Types';
11
+ import { ITable } from '../table';
12
+ import { IExternalBook, IExternalBookCollection } from '../externalBook';
13
+ import { ExternalBookCollection } from '../externalBook/ExternalBookCollection';
14
+ import { FormulaBlockResolvers, FormulaImager } from './formula';
11
15
  import { IFormulaCompiler } from './compiler';
12
- import { CalculationContext, IContextContainer, CalcNode } from './state';
13
- import { FormulaSpatialValue, PrecedentSpatialValue } from './spatial';
14
- import { CalcGrid, ICalcGrid } from './grid';
15
- import { CalcExecutor } from './executor';
16
+ import { CalcGrid, FormulaHost, ICalcGrid } from './grid';
17
+ import { CalcRequest, CalcResponse, CalcGridSpec, TableSymbols, NameSymbols } from './grid/_CalcRequest';
18
+ import { CalcBackend } from './engine/CalcBackend';
19
+ import { IndirectSymbolProvider, ISymbolRegistry } from './symbol';
16
20
  import { ICalculation } from './ICalculation';
17
21
  import { NamedFormulaCollection } from './NamedFormulaCollection';
18
22
  import { INamedFormulasCollection } from './INamedFormulasCollection';
19
23
  /**
20
24
  * Implementation for {@link ICalculation}.
21
25
  */
22
- export declare class Calculation extends AbstractModel<State, ICalculation.JSON, CommitView, ICalculation.IListeners> implements ICalculation {
23
- protected _container: IContextContainer;
24
- protected _context: CalculationContext & IFormulaContext;
26
+ export declare class Calculation extends AbstractModel<AbstractModel.State, ICalculation.JSON, ICalculation.IListeners> implements ICalculation {
27
+ protected _backend: CalcBackend | null;
28
+ protected _startReplica: CalcBackend.Replica | null;
29
+ /** The symbols formulas bind through (DESIGN-CALC-SERVICE §8): the model's, handed to the backend. */
30
+ protected _symbols: ISymbolRegistry;
25
31
  protected _status: ICalculation.Status;
26
32
  protected _statusTransition: Promise<void> | null;
27
33
  protected _runtime: IRuntime;
28
34
  protected _functions: IFunctionCollection;
29
35
  protected _namedFormulas: NamedFormulaCollection;
36
+ protected _externalBooks: ExternalBookCollection;
30
37
  /** `json.names` held from construction until {@link hydrateNames} — see it for why. */
31
38
  protected _pendingNames: INamed.JSON[] | null;
32
39
  protected _compiler: IFormulaCompiler;
33
40
  protected _compilerEditing: IFormulaCompiler;
34
41
  protected _compilerEditingSig: string;
42
+ protected _compilerEditingStorage: IFormulaCompiler | null;
35
43
  protected _compilerModule: typeof import('./compiler/FormulaCompiler');
44
+ protected _engineModule: typeof import('./engine') | null;
45
+ protected _planCache: 'off' | 'assert' | 'on' | null;
36
46
  protected _getActiveCell: () => IRange.CellCoords | null;
37
47
  protected _getRange: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
38
48
  protected _getRanges: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
39
- protected _calcExecutor: CalcExecutor;
40
- protected _cycleId: number;
41
- protected _staticEpoch: number;
42
- protected _precedentEpoch: number;
43
- protected _epochSeenFormulas: ISpatialMap3D<FormulaSpatialValue> | null;
44
- protected _epochSeenPrecedents: ISpatialMap3D<PrecedentSpatialValue> | null;
45
- protected _epochSeenDynamics: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]> | null;
46
- protected _volatiles: Set<CalcNode>;
47
- protected _calculatedCommitId: string | null;
49
+ /** The current handle of every formula host's grid, by grid id. */
50
+ protected _formulaHosts: Map<string, FormulaHost>;
51
+ protected _modelStore: ITransaction.IStore | null;
52
+ /** The model-side grids, by grid id (DESIGN-CALC-SERVICE §13.23): what a copy lands on, what a start seeds from. */
53
+ protected readonly _fronts: Map<string, CalcGrid>;
54
+ /** What each model grid is, for the `create` a start sends for it (its size is read then). */
55
+ protected readonly _gridSpecs: Map<string, CalcGridSpec>;
56
+ protected _modelStoreRemoveListener: IListener.Remove | null;
57
+ protected _mirrorRemoveListener: IListener.Remove | null;
58
+ _modelMirrorId: string | null;
59
+ /** Where the owner's sheet list is held ({@link _setSheets}): the model's store, or a transient one with no model. */
60
+ protected _ownerStore: ITransaction.IStore;
61
+ /** The record holding the owner's sheet list, in {@link _ownerStore}. */
62
+ protected _sheetListId: string;
63
+ protected _landedCommits: Set<string> | null;
64
+ protected _outstanding: Set<Promise<ICalcGrid.Results>> | null;
48
65
  protected _pendingActions: (() => Promise<unknown>)[] | null;
49
66
  protected _pendingPriority: (() => Promise<unknown>)[] | null;
50
67
  protected _draining: boolean;
68
+ protected _drainDepth: number;
51
69
  protected _drainScheduled: boolean;
52
70
  protected _calcOwed: boolean;
71
+ protected _calcOwedBy: string | null;
72
+ protected _channel: HeldRequest[] | null;
73
+ protected _bootPending: Promise<void> | null;
74
+ /** Passes running now: see {@link _calculateNow}. */
75
+ protected _passesInFlight: number;
76
+ /** The calculation state last announced (`onCalculationStateChange`). */
77
+ protected _calculationState: ICalculation.CalculationState;
78
+ /** A check of the calculation state is posted: see {@link _noteCalculationState}. */
79
+ protected _calculationStatePosted: boolean;
80
+ /** `ready()` calls waiting for work in flight to end: woken on every check. */
81
+ protected _calculationStateWaiters: (() => void)[] | null;
82
+ protected _bootFull: boolean;
83
+ /** Consumer work not yet settled: see {@link waitUntil}. */
84
+ protected _consumerWork: number;
85
+ protected _bootExplicit: boolean;
86
+ protected _compilerWaiters: (() => void)[] | null;
87
+ protected _wroteWhileOff: boolean;
53
88
  /** {@link ICalculation.getCalculationMode} — gates the reactive pass in {@link _calculate}. */
54
89
  protected _calcMode: ICalculation.CalculationMode;
55
90
  /** {@link ICalculation.getIterativeCalculation} — handed to the executor per pass. */
56
91
  protected _iterate: boolean;
57
- protected _maxIterations: number;
92
+ protected _maxIteration: number;
58
93
  protected _maxIterateChange: number;
59
94
  /** The `calcPr` the file carried, kept whole so settings this engine ignores still round-trip. */
60
95
  protected _calcJSON: ICalculation.JSON | null;
61
96
  protected _removeNamedItemsListeners: (() => void) | null;
62
- protected _namedDependents: Map<string, IRange.Coords[]> | null;
63
- protected _namedDependentsOf: ISpatialMap3D<FormulaSpatialValue> | null;
97
+ /** The listeners on each table's extent, registered again whenever the named collection changes. */
98
+ protected _tableListenerRemovers: (() => void)[];
64
99
  /**
65
100
  * Resolver callbacks passed to every {@link FormulaBlock} at creation time.
66
101
  * Populated from {@link Calculation.ConstructorOptions} during `_initialize`.
67
102
  */
68
103
  protected _resolvers: FormulaBlockResolvers | null;
104
+ /** Tables as symbols: a table's stable id, which is what a structured reference stores. */
105
+ protected _tableSymbols: IndirectSymbolProvider<INamed<ITable>> | null;
106
+ protected _nameSymbols: IndirectSymbolProvider<ICalculation.INamedFormula> | null;
69
107
  constructor(options?: Calculation.ConstructorOptions);
70
108
  protected _initialize(options?: Calculation.ConstructorOptions): void;
71
109
  /**
72
- * Reverse-invalidates only the formulas that reference any of `changedIds` — the stable name/table
73
- * fake ids reported by `IndirectSymbolProvider.reconcile()` (add/heal, delete, rename).
110
+ * Makes the backend from its loaded module. Once per calculation; a restart reuses it, as
111
+ * `_dropEngine` leaves it.
74
112
  *
75
113
  * @remarks
76
- * Replaces the old `isFullCalcRequired` blanket. `bind()` assigns a stable fake id at compile time
77
- * regardless of whether the symbol resolves, and reconcile() reports that same id — so matching a
78
- * formula's `getReferencedSymbolIds()` catches the "heal" case (`#NAME?`/`#REF!` → valid) that a
79
- * precedent-range markDirty can't, because an unresolved reference has no precedent range.
80
- *
81
- * Marking the direct referencers is not enough where the referencer is another NAME. Downstream
82
- * of a cell, the dependency graph carries transitivity for free; downstream of a name it carries
83
- * nothing, because a name registers no precedent range for the formulas that mention it. So the
84
- * ids are first expanded over the symbol graph ({@link _namedTargets}), and only from the cells
85
- * that land in are the ordinary edges left to do the rest.
86
- *
87
- * O(formulas) all3D scan — same cost/scale as `recompileNamed`.
88
- *
89
- * @returns `true` if any formula was marked dirty.
114
+ * Its history starts here, at the model's current commit: nothing before a start writes to it.
115
+ * Its replicas start as the owner held them when the start was asked for.
90
116
  */
91
- protected _markDirtyReferencing(changedIds: Set<string>): boolean;
117
+ protected _attachEngine(engine: typeof import('./engine')): void;
92
118
  /**
93
- * {@inheritDoc IContextContainer.getNamedDependents}
94
- *
95
- * @remarks
96
- * The memo is keyed on the formula spatial's IDENTITY, which is the whole invalidation story:
97
- * the map is copy-on-write (`getFormulas().clone()` before any mutation, `setFormulas` to
98
- * publish), so a formula added, removed, shifted or recompiled necessarily replaces it — and an
99
- * undo, which restores an earlier map, replaces it too. Nothing has to remember to clear this.
100
- *
101
- * The sweep is the same `all3D` walk `recompileNamed` and {@link _markDirtyReferencing} already
102
- * do, done once for every name instead of once per name.
119
+ * What the backend asks of this calculation (see {@link CalcBackend.Callbacks}): the in-process
120
+ * half of the backend's interface.
103
121
  */
104
- protected _getNamedDependents(nameId: string): readonly IRange.Coords[];
122
+ protected _backendCallbacks(): CalcBackend.Callbacks;
105
123
  /**
106
- * {@inheritDoc IContextContainer.getNamedDependentNames}
124
+ * Recompiles, at the next safe point, the formulas that reference a name - or reference a name
125
+ * that does: a name's link to the engine, held from before there is one. See
126
+ * {@link IContextContainer.recompileNamed}.
127
+ */
128
+ protected _recompileNamed(nameId: string): void;
129
+ /** Marks, at the next safe point, the formulas that reference a name out of date. See {@link IContextContainer.invalidateNamed}. */
130
+ protected _invalidateNamed(nameId: string): void;
131
+ /**
132
+ * @internal
133
+ * Rewrites the formulas that reference `table`, which is about to be removed: `'error'` puts
134
+ * `#REF!` in place of each reference (a delete), `'address'` the absolute range it designated
135
+ * (a convert to range).
107
136
  *
108
137
  * @remarks
109
- * A block that depends on a name and lives on a VIRTUAL grid is another name's BODY, and that
110
- * grid's id is that name's id — `add` binds the two together and `delete` keeps the grid rather
111
- * than dropping it. So the hop is a bucket lookup on the id itself; a sheet grid id is never a
112
- * name id, which is what {@link NamedFormulaCollection.getById} is asked to confirm before the
113
- * walk continues through one.
114
- *
115
- * Expands each id once. That is the cycle guard (`A = B+1`, `B = A+1` reaches `A` again on its
116
- * second hop) and the diamond guard both.
138
+ * Called while the table still exists: its id and its extent are read now, and the rewrite runs at
139
+ * the next safe point. A defined name whose body cites the table is not rewritten; it evaluates
140
+ * `#REF!` once the table is gone.
117
141
  */
118
- protected _getNamedDependentNames(nameId: string): ReadonlySet<string>;
142
+ _releaseTableReferences(table: ITable, release: 'error' | 'address'): void;
119
143
  /**
120
- * `changedIds` widened to everything a change to them reaches through the SYMBOL graph: each id
121
- * plus, for the names among them, every name transitively referencing it.
144
+ * @internal
145
+ * A table's body has changed rows: re-fit the A1 references that spanned it (see
146
+ * {@link CalcBackend.refitTableRows}).
122
147
  *
123
- * @remarks
124
- * The one expansion both `recompileNamed` and {@link _markDirtyReferencing} apply before their
125
- * all3D scan, so a formula naming an intermediate name is matched by the same pass that matches
126
- * one naming the changed name directly. Ids that are not names (a table's) expand to themselves.
148
+ * @param sheet The sheet the table is on, by id or name.
149
+ * @param columns The table's columns. A reference reaching outside them is an ordinary one.
150
+ * @param match The rows a reference has to span to be one of the body's, as they read NOW.
151
+ * @param headerRow The header's row when a reference from it to `match.rowEnd` also counts.
152
+ * @param to The body's rows now.
153
+ * @param afterShift The rows to match are where a shift THIS edit makes will have put them - a
154
+ * row inserted at the body's first row. The table hears of a shift before the engine has made it,
155
+ * so this waits for the next safe point.
156
+ * @param isCurrent Whether the table is still as this change left it.
157
+ */
158
+ _refitTableRows(sheet: string, columns: {
159
+ colStart: number;
160
+ colEnd: number;
161
+ }, match: {
162
+ rowStart: number;
163
+ rowEnd: number;
164
+ }, headerRow: number | null, to: {
165
+ rowStart: number;
166
+ rowEnd: number;
167
+ }, afterShift: boolean, isCurrent: () => boolean): void;
168
+ /**
169
+ * @internal
170
+ * Rewrites the 3-D spans that a tab-order change from `before` to `after` broke — an endpoint that
171
+ * `movedId` carried across the other — to their inward neighbor. Called inside the move's commit,
172
+ * so an undo of the move restores the text.
173
+ */
174
+ _replaceSheetSpans(before: readonly string[], after: readonly string[], movedId?: string): void;
175
+ /**
176
+ * @internal
177
+ * Demand/plan counters and timings since construction (or the last {@link _resetStats}) — the
178
+ * plan-cache soak rig. From a console: `SheetXL.getSelectedWorkbook().getCalculation()._stats()`.
179
+ */
180
+ _stats(): ReturnType<CalcBackend['getDemandStats']>;
181
+ /** @internal Zeroes every counter/timing so a measurement window starts clean. */
182
+ _resetStats(): void;
183
+ /**
184
+ * @internal
185
+ * Read (no argument) or set the plan-cache mode: `'on'` | `'assert'` | `'off'`. `'assert'` is the
186
+ * diagnostic to flip to if values ever look stale — see `CalcExecutor.planCacheMode`.
127
187
  */
128
- protected _namedTargets(changedIds: Set<string>): ReadonlySet<string>;
188
+ _planCacheMode(mode?: 'off' | 'assert' | 'on'): 'off' | 'assert' | 'on';
129
189
  /** @inheritdoc ICalculation.start */
130
190
  start(): Promise<void>;
131
191
  /**
@@ -137,7 +197,7 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
137
197
  *
138
198
  * - `Starting` — held for `start()`'s drain, which always follows and loops until empty.
139
199
  * - Inside a drain — picked up by the loop already running.
140
- * - `Ready` and settled — a microtask drain is posted (see {@link _scheduleDrain}).
200
+ * - `Running` and settled — a microtask drain is posted (see {@link _scheduleDrain}).
141
201
  *
142
202
  * That last case is why this is no longer called `whenStarting`. It only ever handled work that
143
203
  * arrived while starting: queuing scheduled nothing, and the array was pumped as a side effect of
@@ -151,13 +211,86 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
151
211
  * only inside a calculation. The drain is a safe point, not a synchronization point.
152
212
  */
153
213
  _whenSafe(action: () => Promise<unknown>, priority?: boolean): void;
214
+ /**
215
+ * Sends a grid request through the channel (DESIGN-CALC-SERVICE §4): applied now on a `Running`
216
+ * engine, held in send order while `Starting`, and neither recorded nor sent on an `Off` one -
217
+ * the caller's own view is the truth there, and a start is seeded from it.
218
+ */
219
+ protected _sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
220
+ protected _sendRequestNow(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<CalcResponse>;
221
+ /** Re-judges every held request: `dead` is what `isDead` answers for it now. */
222
+ protected _markHeld(isDead: (held: HeldRequest) => boolean): void;
223
+ /**
224
+ * A start that did not complete: what the channel held is resolved with nothing (the model
225
+ * keeps every write, and the next start is seeded from it), and whoever waited for the
226
+ * compiler is released.
227
+ */
228
+ protected _abandonStart(): void;
229
+ protected _releaseCompilerWaiters(): void;
230
+ /**
231
+ * Runs the start batch under one operation on the model's store, folded into the commit the
232
+ * batch happens during.
233
+ *
234
+ * @remarks
235
+ * What the batch vends - a seed's record, a name body's answer - the model adopts as it is
236
+ * applied, and each adoption is a write to the model's store. Made as its own root commit, each
237
+ * write copies the store's whole state map into the record it keeps (a state per sheet model, and
238
+ * one per defined name's host), so a start that answers thousands of bodies cost thousands of
239
+ * such copies - the larger part of opening a legacy file. Under one open operation the writes
240
+ * join it, and the store copies once when it closes. Nothing of the model's changes here: the
241
+ * batch is the engine's answer to what the model already holds.
242
+ */
243
+ protected _underOneModelOperation<R>(batch: () => R): R;
244
+ /**
245
+ * @internal
246
+ * Resolves once the engine can compile: at once when `Running`; when the batch has applied the
247
+ * seeds, ahead of the boot pass, while `Starting`; and, when `Off`, once something else starts
248
+ * it. It never starts the engine itself.
249
+ *
250
+ * @remarks
251
+ * What an owner that registers a formula asynchronously waits on (a condition formula's
252
+ * evaluation). Waiting on {@link ready} instead resolves after the boot pass, and the
253
+ * registration then costs a pass of its own (design §6.5: a boot owes one).
254
+ *
255
+ * An `Off` engine stays off (DESIGN-CALC-ON-LOAD: under `calcOnLoad: 'none'` a read starts
256
+ * nothing, and a conditional format or data validation evaluating on load is a read). Starting it
257
+ * here ran the boot pass, and the pass moved cached values — every volatile, every iterating
258
+ * cycle — in a workbook that was only being opened and saved. The waiter is released by the
259
+ * start the first mutation (or an explicit calculation) makes, and by {@link close}.
260
+ */
261
+ _whenCanCompile(): Promise<void>;
262
+ /**
263
+ * The start batch (DESIGN-CALC-SERVICE §6.3), in the order the service owns: service-level
264
+ * content first (the names, wired from the priority queue), then the channel in send order
265
+ * (every seed and every request made while the engine was coming up), then the owners that
266
+ * hold a formula of their own (a host whose grid lost its body writes it again; a watch held for
267
+ * the engine registers inside `onReady`), then the one pass the boot owes.
268
+ *
269
+ * @remarks
270
+ * `isLoading()` holds for the whole batch, so a grid seeded here owes its pass rather than
271
+ * running one against siblings not yet seeded. The pass itself runs on a task of its own
272
+ * ({@link _runBoot}): a consumer whose registration chains through promises resolved here (a
273
+ * data validation's, a conditional format's) lands ahead of it, and N of them cost one pass.
274
+ *
275
+ * A held request lands under the engine's current commit: the snapshot it named has been
276
+ * mirrored already, so its writes belong to the tip, and the maps are versioned under that key.
277
+ * One whose snapshot the model has undone since is skipped.
278
+ */
279
+ protected _boot(): Promise<void>;
280
+ /**
281
+ * Posts the boot pass on a task of its own, and answers the promise `start()`, `ready()` and a
282
+ * `calculate()` made meanwhile wait on. One at a time.
283
+ */
284
+ protected _scheduleBoot(): Promise<void>;
285
+ /** The boot pass: what the batch, and the consumers that registered since, owe - once. */
286
+ protected _runBoot(): Promise<void>;
154
287
  /**
155
288
  * Posts a microtask drain, if one is not already coming.
156
289
  *
157
290
  * @remarks
158
291
  * A no-op in the two cases where a drain is already guaranteed to reach this action:
159
292
  *
160
- * - not `Ready` — `start()` drains at the tail of its transition, and does so inline so
293
+ * - not `Running` — `start()` drains at the tail of its transition, and does so inline so
161
294
  * `await start()` covers the queued work. Posting here would race that.
162
295
  * - already draining — `_drainPending` loops until the queue is empty, so an action appended
163
296
  * during a drain is picked up by the pass in flight.
@@ -186,8 +319,23 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
186
319
  * This is deliberately not folded into {@link _drainPending}. The other three sites would then
187
320
  * calculate twice, and `start()` would calculate mid-load — which is the thing `isLoading()`
188
321
  * exists to prevent.
322
+ *
323
+ * The pass is reactive whether or not a grid owed it, so manual mode holds it for `calculate()`.
324
+ * That includes the load: a manual-mode file opens with no pass, as Excel's does — its `ca`
325
+ * cells and value-less formulas stay dirty (`isCalculationRequired()`) until asked. A file whose
326
+ * `calcId` says it needs recalculating still gets one; that is the explicit full pass of
327
+ * `calcOnLoad: 'full'`.
189
328
  */
190
329
  protected _drainStandalone(): Promise<void>;
330
+ /**
331
+ * Owe a reactive pass for `gridId`, to run once the current flush is over.
332
+ *
333
+ * @remarks
334
+ * The posted form of `calculateGrid`: the drain scheduler already coalesces everything owed at
335
+ * the end of a flush into one pass, and this is how a consumer asks for that pass without
336
+ * running one itself. See {@link IContextContainer.requestCalculateGrid}.
337
+ */
338
+ protected _owePass(gridId: string): void;
191
339
  /**
192
340
  * Runs queued actions until the queue is empty. The one drain, used by every site that drains.
193
341
  *
@@ -204,8 +352,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
204
352
  * shape, and got away with it only because it goes on to call `grid.calculate()` per dirty grid —
205
353
  * which loop-drains. It held if something was dirty and did not if nothing was.
206
354
  *
207
- * `_draining` is restored rather than cleared, so a nested drain (an action that calculates)
208
- * leaves the outer one's window intact.
355
+ * `_draining` stays set until the last run in flight finishes ({@link _drainDepth}), so a nested
356
+ * drain (an action that calculates) or an overlapping one leaves the other's window intact.
209
357
  *
210
358
  * **Call this under `if (this._pendingActions?.length)`, not unconditionally.** `await` on an
211
359
  * async call yields to the microtask queue even when the callee does nothing, and a calculation
@@ -214,24 +362,272 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
214
362
  * between. An unconditional drain here pushes the whole pass past a microtask boundary and that
215
363
  * read returns the raw text instead (`use-signs.test.ts`).
216
364
  */
217
- protected _drainPending(): Promise<void>;
365
+ protected _drainPending(priorityOnly?: boolean): Promise<void>;
218
366
  /** @inheritdoc ICalculation.calculate */
219
367
  calculate(options?: ICalculation.CalculateOptions | boolean): Promise<ICalculation.Status>;
220
368
  /**
221
369
  * @returns The status the engine is in once the pass has run — `Starting` if the request was
222
- * deferred to the start-up drain, and whatever non-`Ready` status turned it away
370
+ * deferred to the start-up drain, and whatever non-`Running` status turned it away
223
371
  * otherwise. Never `undefined`: it used to resolve that on every path including the
224
372
  * successful one (the tail simply fell off the end), and two call sites cast the result
225
373
  * to `Status` to satisfy {@link ICalculation.calculate}.
226
374
  */
227
375
  protected _calculate(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
228
- protected _createCalcGrid(options?: CalcGrid.ConstructorOptions): ICalcGrid;
229
- protected _registerGrid(grid: ICalcGrid): void;
230
- protected _unregisterGrid(gridId: string): void;
376
+ /** A pass, counted while it runs: what the calculation state reads as a pass in flight. */
377
+ protected _calculateNow(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
378
+ protected _runCalculation(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
379
+ /**
380
+ * The model commit the last pass recalculated for, `null` before the first: what a sheet
381
+ * realizing the pass's results amends them into.
382
+ * @internal
383
+ */
384
+ get _calculatedCommitId(): string | null;
385
+ /** A response's cycle: the engine's last pass, or none before there is an engine. */
386
+ protected get _cycleId(): number;
387
+ /**
388
+ * Formula text as a cell at `coords` would STORE it, without writing it anywhere.
389
+ *
390
+ * @remarks
391
+ * {@link createFormula} compiles for editing, which keeps what was typed. A committed cell is
392
+ * compiled for storage: `[#This Row]` becomes `@`, and an unqualified structured reference is
393
+ * given the name of the table it binds to - the one at `coords`. An owner that holds formula text
394
+ * apart from any cell (a table column's totals formula while its row is hidden) stores it
395
+ * through this, so it holds what a cell would.
396
+ *
397
+ * @param coords The cell the text is authored at, on the sheet `scope` names (by id or name).
398
+ * @throws When the engine is not Ready, or `scope` names no sheet.
399
+ * @internal
400
+ */
401
+ _toStoredText(expression: string, coords: IRange.CellCoords & {
402
+ scope: string;
403
+ }): string;
404
+ /**
405
+ * Whether a grid under `id` is in the model as the store is now: a held formula's grid that came
406
+ * back with an undone delete is attached to rather than written again.
407
+ * @internal
408
+ */
409
+ /**
410
+ * A grid that holds exactly one formula block, as a handle - see {@link FormulaHost}.
411
+ *
412
+ * @remarks
413
+ * Creates the grid unless the container already has one under `id` (a name's grid outlives a
414
+ * redefine and a delete), then answers a handle over it. The handle resolves the grid by id on
415
+ * every use, so it is safe to hold across snapshots.
416
+ *
417
+ * @internal
418
+ */
419
+ _hasLiveGrid(id: string): boolean;
420
+ _createFormulaHost(options: Calculation.FormulaHostOptions): FormulaHost;
421
+ /**
422
+ * Evaluate an expression once over a block, through the engine.
423
+ *
424
+ * @remarks
425
+ * The implementation of {@link ICalculation.EvaluateOptions.block}: a watch with no lifetime.
426
+ * The body is written over `coords` in a grid that shadows the sheet, exactly as a watch's is
427
+ * (see `WatchAnchor`), one pass evaluates it, and the grid is dropped. What comes back reads over
428
+ * a copy-on-write clone of the dropped grid's values, taken before the drop, so it outlives the
429
+ * grid as a plain object.
430
+ *
431
+ * The grid and its body amend the current commit, as a watch's do: never an undo step. The
432
+ * pass is explicit and seeded from the one grid, so it runs under manual calculation without
433
+ * recalculating what the user has deferred.
434
+ * @internal
435
+ */
436
+ protected _evaluateOver(options: Calculation.EvaluateOverOptions): Promise<IRange>;
437
+ /**
438
+ * A grid for a model to hold (DESIGN-CALC-SERVICE §13.23): the synchronous half, versioned in
439
+ * the model's store, forwarding every verb as a request. The engine's grid is made by the
440
+ * grid's first request, `create`, which an `Off` engine drops: a start makes it then, from this
441
+ * one. What the engine pushes reaches the owner through the grid's events. It opens empty: the
442
+ * owner attaches its listeners, then seeds it.
443
+ * @internal
444
+ */
445
+ _createCalcGrid(options: Calculation.CalcGridOptions): CalcGrid;
446
+ /** What a `create` for a model grid carries: its description. */
447
+ protected _specOf(front: CalcGrid): CalcGridSpec;
448
+ /**
449
+ * Make the engine's grids from the model's (design §6.3): each live model grid's `create`, the
450
+ * hosts' first (a name's grid before any sheet's); each host's body sent again; then every grid
451
+ * a sheet owns seeded from what it holds now. Requests like any other: held while `Starting`,
452
+ * applied at once on a `Running` engine that is rebuilt.
453
+ *
454
+ * @param full The seeds ask for a full pass - a start's, which the boot keeps only when
455
+ * something was written while `Off`.
456
+ */
457
+ protected _openEngineGrids(full: boolean): void;
458
+ /**
459
+ * The engine's graph and every grid in it, gone: what `stop()` leaves, and what a rebuild starts
460
+ * from. The model's grids are untouched.
461
+ */
462
+ protected _dropEngine(): void;
463
+ /**
464
+ * The model restored itself to `commitId`: the engine restores its own history there, or - on a
465
+ * `Running` engine whose history does not reach it (a commit from before its start, or one
466
+ * trimmed since) - is rebuilt from the model's grids as they are there, at the next safe point.
467
+ */
468
+ protected _followRestore(commitId: string): void;
469
+ /**
470
+ * Make the engine again from the model, as a start does: its replicas, its grids and their
471
+ * seeds, with the values the model holds trusted.
472
+ */
473
+ protected _rebuildEngine(): void;
474
+ /**
475
+ * Report a failure of a request no caller awaits - a grid's seed - as this calculation's error.
476
+ * @internal
477
+ */
478
+ _reportError(error: unknown): void;
479
+ /** The owner's sheet list as it last said ({@link _setSheets}): what a start seeds the replica from. */
480
+ protected _heldSheets(): Calculation.SheetList['sheets'];
481
+ /** One sheet of {@link _heldSheets} by its grid id, or `undefined` for a grid that is no sheet. */
482
+ protected _heldSheetAt(id: string): Calculation.SheetList['sheets'][number] | undefined;
483
+ /**
484
+ * The owner's sheet list as it is now: every sheet's grid id and name, in tab order, hidden ones
485
+ * included (DESIGN-CALC-SERVICE §8). The owner calls this whenever its list changes - a sheet
486
+ * added, deleted, moved, copied or renamed - and before any grid that names a sheet in it
487
+ * seeds. Not on a restore: this record is restored with the owner's own, and the engine's
488
+ * replica with the engine's store.
489
+ *
490
+ * @remarks
491
+ * Held in the caller's operation (folded into the current commit when none is open) and sent
492
+ * to the engine as one `sheets` message: applied at once on a `Running` engine, held in order
493
+ * while `Starting`. An `Off` engine is told nothing; its next start seeds the replica from this
494
+ * record, and owes a full pass only when a sheet already listed was renamed, moved or removed.
495
+ * @internal
496
+ */
497
+ _setSheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
498
+ /**
499
+ * Compiles every loaded name whose text mentions the sheet, ahead of a change a compiled body
500
+ * follows and text cannot: a shift of the sheet's cells, its rename, its removal. See
501
+ * {@link NamedFormulaCollection._materializeMentioning}. Nothing while `Off`: a body written
502
+ * then is sent at the next start, against the sheets as they are by then, as the text would be.
503
+ */
504
+ protected _materializeNamesMentioning(sheetId: string, name?: string | null): void;
505
+ /** The model's tables as the replica holds them: by id, each table's name and columns. */
506
+ protected _liveTables(): Map<string, TableSymbols>;
507
+ /** The defined names as the replica holds them: by id, each name's spelling and scope sheet. */
508
+ protected _liveNames(): Map<string, NameSymbols>;
509
+ /**
510
+ * Tell the engine one table's name and columns as they are now, or that it is gone - from the
511
+ * model, at the moment it changes, inside the operation (the sheet's table callbacks). So the
512
+ * message is in the channel where the change happened, between the requests made before it and
513
+ * those made after, and a request held while `Starting` binds the names it was sent under. A
514
+ * restore changes nothing here: it reaches the engine as the revert of its own store. An `Off`
515
+ * engine is told nothing; a start seeds the replica from the model.
516
+ *
517
+ * @remarks
518
+ * Reads the table's own record only: a read of the sheet inside an open operation would make the
519
+ * writes a cell buffer holds.
520
+ * @internal
521
+ */
522
+ _tableChanged(table: ITable, removed: boolean): void;
523
+ /** A name written, as {@link _tableChanged} tells a table. */
524
+ protected _nameWritten(written: NamedFormulaCollection.NamesWritten): void;
525
+ /**
526
+ * One change to a replica, as a message: sent to a `Starting` engine as it is (the channel holds
527
+ * it in order), and to a `Running` one only when the replica does not already say so.
528
+ */
529
+ protected _sendSymbolChange<T>(kind: 'tables' | 'names', id: string, entry: T | null, same: (a: T | null | undefined, b: T | null) => boolean): void;
530
+ /**
531
+ * While `Starting`: per kind, the held symbol message a new symbol of that kind joins, and the
532
+ * ids every message of the start has told. Dropped with the channel - see {@link _sendSymbolChange}.
533
+ */
534
+ protected _openSymbolMessages: Map<'tables' | 'names', HeldRequest> | null;
535
+ protected _symbolsTold: Map<'tables' | 'names', Set<string>> | null;
536
+ /** What a replica's change re-resolved - healed, renamed, gone - is marked for the next pass. */
537
+ protected _markDirtyReconciled(provider: {
538
+ reconcile(): string[];
539
+ } | null): void;
540
+ /**
541
+ * Whether the engine's replicas answer: not while `Off`, nor before the start has made the
542
+ * engine. An engine that has been told nothing reads the model.
543
+ */
544
+ protected _hasReplicas(): boolean;
545
+ /** The table replica and its name index, or `null` when there is none (see {@link _hasReplicas}). */
546
+ protected _replicaTables(): {
547
+ of: ReadonlyMap<string, TableSymbols>;
548
+ idByName: Map<string, string>;
549
+ } | null;
550
+ /** The name replica and its spelling index, as {@link _replicaTables}. @internal */
551
+ _replicaNames(): {
552
+ of: ReadonlyMap<string, NameSymbols>;
553
+ idsByName: Map<string, string[]>;
554
+ } | null;
555
+ /**
556
+ * The name a spelling resolves to from `scope`, by the replica (see
557
+ * {@link CalcBackend.getReplicaNameId}). `undefined` when the replica cannot answer, and the
558
+ * collection is asked instead.
559
+ * @internal
560
+ */
561
+ _replicaNameId(name: string, scope: string | null | undefined): string | undefined;
562
+ /** See {@link _modelSymbols}. */
563
+ protected _modelSymbolRegistry: ISymbolRegistry;
564
+ /**
565
+ * The model's symbol map (DESIGN-CALC-SERVICE §8): what the facade images the engine's records
566
+ * against. Sheets answer from the model's live list; the rest from the engine's providers.
567
+ * @internal
568
+ */
569
+ _modelSymbols(): ISymbolRegistry;
570
+ /**
571
+ * What images a grid's records for the model (DESIGN-CALC-SERVICE §8): the model's symbol map,
572
+ * the grid as home scope, its bounds and the reader's locale, both read live so a rename or a
573
+ * locale switch shows without a recompile.
574
+ * @internal
575
+ */
576
+ _imagerFor(gridId: string): FormulaImager;
577
+ /** Every sheet's grid id in tab order, from the replica. */
578
+ protected _sheetIds(): readonly string[];
579
+ /** A sheet's grid id by its name, as Excel reads sheet names: case-insensitively. `null` when none. */
580
+ protected _sheetIdByName(name: string): string | null;
581
+ /** A sheet's name by its grid id, or `null` for a grid that is no sheet. */
582
+ protected _sheetName(gridId: string): string | null;
231
583
  /** @inheritdoc ICalculation.stop */
232
584
  stop(): Promise<void>;
585
+ /**
586
+ * {@inheritDoc ITransaction.ITransactional.close}
587
+ *
588
+ * @remarks
589
+ * Brings the ENGINE down before the model goes away. The inherited close is a model close — it
590
+ * flips the closed flag and detaches the transaction listener — which left a closed calculation
591
+ * still reporting {@link ICalculation.Status.Running}, with `onStopping`/`onStop` never sent to
592
+ * listeners that were about to be discarded.
593
+ *
594
+ * {@link stop} resolves synchronously (it awaits nothing), so the `void` here loses no ordering;
595
+ * it is `async` only because the interface says so. It is also a no-op unless the status is
596
+ * `Running`, which is what makes closing a still-STARTING engine safe — `start()` observes the close
597
+ * at its own await points instead.
598
+ */
599
+ close(): void;
600
+ /** A model holding writes for the engine makes them on this read (`ITransaction.Hooks.writes`). */
601
+ protected _flushModel(): void;
602
+ /** The model commits on the live history: the current one and its ancestors. */
603
+ protected _modelHistory(): Set<string>;
604
+ /**
605
+ * Whether a model commit landed: the model holds it, or did when a held request was judged
606
+ * against it. A snapshot that never landed (an amended root's) is not one a restore can undo.
607
+ */
608
+ protected _hasLanded(commitId: string): boolean;
609
+ /**
610
+ * The landing of the model operation open now, which an engine write made during it lands in:
611
+ * the operation's root (`<id>:0`) or the nested savepoint open now. `null` outside an operation.
612
+ */
613
+ protected _modelLanding(): string | null;
614
+ /**
615
+ * Hook the rollback of the savepoint a request goes out under, the first time one does: a
616
+ * `rollback` message follows, through the channel, if it rolls back. By a step that shares the
617
+ * savepoint and writes nothing - its outcome hooks pass to the savepoint when it closes. A
618
+ * request landing on the operation's own commit (`<id>:0`) needs none: a root rollback is seen by
619
+ * the engine's listener on the store.
620
+ */
621
+ protected _hookRollback(landingId: string): void;
622
+ private _rollbackHooked;
233
623
  /** @inheritdoc ICalculation.getStatus */
234
624
  getStatus(): ICalculation.Status;
625
+ /**
626
+ * Resolves once every request sent to a grid has settled and its sender has handled the
627
+ * response. What a save waits for after `ready()`.
628
+ * @internal
629
+ */
630
+ _whenRequestsSettled(): Promise<void>;
235
631
  /** @inheritdoc ICalculation.getCalculationMode */
236
632
  getCalculationMode(): ICalculation.CalculationMode;
237
633
  /** @inheritdoc ICalculation.setCalculationMode */
@@ -246,19 +642,40 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
246
642
  toJSON(): ICalculation.JSON;
247
643
  /** @inheritdoc ICalculation.ready */
248
644
  ready(options?: ICalculation.CalculateOptions): Promise<ICalculation.Status>;
645
+ /** {@inheritDoc ICalculation.waitUntil} */
646
+ waitUntil<T>(work: Promise<T>): Promise<T>;
647
+ /** One round of `ready()`: up, drained, and the passes the dirty set owes (none in manual mode). */
648
+ protected _readyPass(full: boolean): Promise<void>;
649
+ /** @inheritdoc ICalculation.getCalculationState */
650
+ getCalculationState(): ICalculation.CalculationState;
651
+ /**
652
+ * Work in flight: answers owed to the model, a drain posted or running, deferred actions, a pass
653
+ * owed or running, the boot, and what consumers derive from the results ({@link waitUntil}) -
654
+ * except in manual mode, where the pass that work waits for runs only when asked. What `ready()`
655
+ * waits out.
656
+ */
657
+ protected _isWorking(): boolean;
658
+ /**
659
+ * Checks the calculation state once the current flush is over: announces a change, and wakes
660
+ * every `ready()` waiting for work in flight to end. Called wherever that work starts or ends.
661
+ */
662
+ protected _noteCalculationState(): void;
249
663
  /**
250
664
  * The locale-aware editing compiler, (re)built when the workbook locale (separators, Plane 1) or
251
665
  * active spreadsheet-language pack (boolean literals, Plane 3) has changed since it was last built.
252
666
  * Only the editing path uses locale-specific separators; the calc path (`_compiler`) is always
253
667
  * canonical because it only ever parses stored/API text.
254
668
  */
255
- protected _getEditingCompiler(): IFormulaCompiler;
669
+ protected _getEditingCompiler(target?: ICalculation.FormulaTarget): IFormulaCompiler;
256
670
  /** @inheritdoc ICalculation.createFormula */
257
- createFormula(expression: string, coords?: Partial<IRange.CellCoords>): ICalculation.IFormula;
671
+ createFormula(expression: string, coords?: Partial<IRange.CellCoords>, options?: ICalculation.CreateFormulaOptions): ICalculation.IFormula;
672
+ protected _createFormula(expression: string, coords: Partial<IRange.CellCoords> | undefined, target: ICalculation.FormulaTarget): ICalculation.IFormula;
258
673
  /** {@inheritDoc ICalculation.evaluate} */
259
- evaluate(expression: string, options?: number | ICalculation.EvaluateOptions & Partial<IRange.CellCoords>): Promise<Scalar | IRange>;
674
+ evaluate(expression: string, options?: number | ICalculation.EvaluateOptions & Partial<IRange.CellCoords> & ICalculation.CreateFormulaOptions): Promise<Scalar | IRange>;
260
675
  /** @inheritdoc ICalculation.getFunctions */
261
676
  getFunctions(): IFunctionCollection;
677
+ /** @inheritdoc ICalculation.getExternalBooks */
678
+ getExternalBooks(): IExternalBookCollection;
262
679
  /** @inheritdoc ICalculation.getNamedFormulas */
263
680
  getNamedFormulas(): INamedFormulasCollection;
264
681
  /**
@@ -288,6 +705,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
288
705
  protected _statusMessage(): string;
289
706
  get [Symbol.toStringTag](): string;
290
707
  toString(): string;
708
+ /** {@inheritDoc ICalculation.isICalculation} */
709
+ get isICalculation(): true;
291
710
  }
292
711
  /**
293
712
  * Interfaces for creating `Calculation` items.
@@ -298,6 +717,62 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
298
717
  * {@link Calculation}
299
718
  */
300
719
  export declare namespace Calculation {
720
+ /** See {@link Calculation._evaluateOver}. */
721
+ interface EvaluateOverOptions {
722
+ /** The sheet whose coordinate space the block is in. */
723
+ sheetGridId: string;
724
+ /** The block: the body is filled over it. */
725
+ coords: IRange.Coords;
726
+ /** The expression as authored, without a leading `=`. */
727
+ expression: string;
728
+ /** Where the expression is authored; `coords`' top-left for a plain fill. */
729
+ authoredAt: IRange.CellCoords;
730
+ /** Each cell of the block is its own 1x1 array-entered formula. See {@link ICalculation.EvaluateOptions.arrayFirstCell}. */
731
+ arrayFirstCell?: boolean;
732
+ }
733
+ /** See {@link Calculation._createFormulaHost}. */
734
+ interface FormulaHostOptions {
735
+ /** The grid's id; an existing grid under it is reused. */
736
+ id: string;
737
+ /** The sheet grid whose coordinate space the body lives in - a watch. See {@link ICalcGrid.getShadowOf}. */
738
+ shadowOf?: string;
739
+ /** `true` for a grid whose (0,0) is a synthetic anchor - a name. See {@link CalcGridBackend.ConstructorOptions.unanchored}. */
740
+ unanchored?: boolean;
741
+ /** `true` for a body whose every cell is its own 1x1 array-entered formula. See {@link ICalcGrid.isArrayFirstCell}. */
742
+ arrayFirstCell?: boolean;
743
+ /** `true` for a body whose blank region may be evaluated a tile at a time. See {@link FormulaHost.request}. */
744
+ paged?: boolean;
745
+ /** The grid's size: fixed, a name's. */
746
+ entireCoords?: IRange.Coords;
747
+ /** The grid whose size the body has, whatever it is then: a sheet's, for a body on it. */
748
+ sizeOf?: string;
749
+ /** Told after every pass that wrote the grid. */
750
+ onCalculated?: (results: ICalcGrid.Results) => void;
751
+ /** Told after a restore or revert has replaced the body under the host. */
752
+ onResync?: () => void;
753
+ }
754
+ /** The owner's sheet list as {@link Calculation._setSheets} holds it. */
755
+ interface SheetList {
756
+ /** Every sheet's grid id and name, in tab order, and `true` third for a sheet with no grid. */
757
+ readonly sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[];
758
+ }
759
+ /** See {@link Calculation._createCalcGrid}. */
760
+ interface CalcGridOptions extends CalcGrid.HostOptions, Pick<CalcGrid.ConstructorOptions, 'valuesAxis'> {
761
+ /** The grid's id; a new one is made when absent. */
762
+ uuid?: string;
763
+ /** See {@link CalcGridSpec.shadowOf}. */
764
+ shadowOf?: string;
765
+ /** See {@link CalcGridSpec.unanchored}. */
766
+ unanchored?: boolean;
767
+ /** See {@link CalcGridSpec.arrayFirstCell}. */
768
+ arrayFirstCell?: boolean;
769
+ /** See {@link CalcGridSpec.paged}. */
770
+ paged?: boolean;
771
+ /** See {@link CalcGridSpec.entireCoords}. */
772
+ entireCoords?: IRange.Coords;
773
+ /** See {@link CalcGridSpec.sizeOf}. */
774
+ sizeOf?: string;
775
+ }
301
776
  /**
302
777
  * Options available when creating a Calculation Service.
303
778
  */
@@ -321,29 +796,21 @@ export declare namespace Calculation {
321
796
  */
322
797
  getActiveCell?: () => IRange.CellCoords | null;
323
798
  /**
324
- * Returns a sheet handle given an id.
799
+ * Whether defined names refuse edits, on top of the calculation's own read-only state. A
800
+ * workbook answers with its structure protection.
325
801
  */
802
+ isNamesReadOnly?: () => boolean;
326
803
  /**
327
- * `getRange`/`getRanges` are OPTIONAL and structural on purpose — this keeps `Calculation` decoupled
328
- * from `ISheet` while letting a real sheet hand over its own address resolvers. A temporary formula
329
- * anchored to that sheet uses them so an unscoped (same-sheet) reference resolves THERE rather than
330
- * against the workbook's active sheet. See `createFormula`.
331
- */
332
- getSheetById?: (sheetId: string) => {
333
- getId(): string;
334
- getName(): string;
335
- getEntireCoords: () => IRange.Coords | null;
336
- getRange?: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
337
- getRanges?: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
338
- } | null;
339
- /**
340
- * Returns a sheet handle given a name.
804
+ * External books to hydrate at construction, in `IWorkbook.JSON.externalBooks` form — `[n]`
805
+ * order, `null` for a DDE/OLE gap.
806
+ *
807
+ * @remarks
808
+ * The engine owns the collection ({@link ICalculation.getExternalBooks}) for the reason it owns
809
+ * defined names: a book is a symbol formulas bind into, and its dependents are the engine's index.
341
810
  */
342
- getSheetByName?: (sheetName: string) => {
343
- getId(): string;
344
- getName(): string;
345
- getEntireCoords: () => IRange.Coords | null;
346
- } | null;
811
+ externalBooks?: (IExternalBook.JSON | null)[];
812
+ /** See {@link ICellContainerOptions.externalBookResolver}; held by the collection for the engine's life. */
813
+ externalBookResolver?: IExternalBook.IResolver;
347
814
  /**
348
815
  * Named item collection shared with the workbook.
349
816
  *
@@ -362,12 +829,6 @@ export declare namespace Calculation {
362
829
  * engine has no pre-load lifecycle state.
363
830
  */
364
831
  names?: INamed.JSON[];
365
- /**
366
- * A structural transform applied to each hydrated name's expression as it compiles — the READ
367
- * half of the format-dialect hook (see `IWorkbook.ConstructorOptions.formulaTransform`).
368
- * Applies only to {@link names}; formulas added later compile without it.
369
- */
370
- formulaTransform?: ICalculation.FormulaTransform;
371
832
  getRanges?: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
372
833
  getRange?: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
373
834
  /**
@@ -381,7 +842,7 @@ export declare namespace Calculation {
381
842
  * `INamedRange` — see DESIGN-NAMED-FORMULAS.md §4). Structural like `getRange`/`getRanges`,
382
843
  * and like them supplied by the workbook. Without it, graph answers fall back to cells only.
383
844
  */
384
- createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly _NamedGraphNode[]) => ICellRanges | null;
845
+ createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly NamedNodeInfo[]) => ICellRanges | null;
385
846
  getSheetIndex?: (sheetName?: string) => number;
386
847
  getSheetCount?: () => number;
387
848
  strings?: IStringCollection;
@@ -396,7 +857,7 @@ export declare namespace Calculation {
396
857
  *
397
858
  * @defaultValue 100
398
859
  */
399
- maxIterations?: number;
860
+ maxIteration?: number;
400
861
  /**
401
862
  * The maximum change allowed between iterations when performing iterative calculations.
402
863
  *
@@ -408,47 +869,21 @@ export declare namespace Calculation {
408
869
  /**
409
870
  * Transaction State for Calculation
410
871
  */
411
- interface State extends AbstractModel.State {
412
- /**
413
- * Top down evaluation and marking dirty.
414
- * This is the only spatial map that is completely updated via api.
415
- *
416
- * @remarks
417
- * For top down evaluation and marking formulas dirty.
418
- */
419
- formulaSpatial: ISpatialMap3D<FormulaSpatialValue>;
420
- /**
421
- * Tracks the inputs to formulas.
422
- *
423
- * @remarks
424
- * * For bottom up marking dirty.
425
- * * Contains a back-pointer to the formula.
426
- *
427
- */
428
- precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>;
429
- /**
430
- * Tracks dynamic precedents by block.
431
- * Used to remove old dynamic precedents when a block is re-evaluated and to add new ones after evaluation.
432
- */
433
- dynamicByBlock: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
434
- /**
435
- * Dirty regions
436
- */
437
- dirtySpatial: ISpatialMap3D;
438
- /**
439
- * If true, the next calculation will be a full calc regardless of dirty state. Used for example when the engine detects a circular dependency and needs to fallback to iterative calculation or when the user explicitly requests a full calc.
440
- */
441
- isFullCalcRequired: boolean;
442
- /**
443
- * All registered grids.
444
- */
445
- gridsAll: Map<string, ICalcGrid>;
446
- /**
447
- * Listeners to individual named items
448
- */
449
- itemRemoveListeners: (() => void)[];
450
- }
451
- interface CommitView extends AbstractModel.CommitView {
872
+ /**
873
+ * A grid request the channel holds while the engine is `Starting` (DESIGN-CALC-SERVICE §4): the
874
+ * request as data, the snapshot it names, and the caller's continuation.
875
+ */
876
+ interface HeldRequest {
877
+ gridId: string;
878
+ request: CalcRequest;
879
+ /** The engine commit it would have landed in; what a nested rollback names. */
880
+ landingId: string | undefined;
881
+ /** The model snapshot it was made at (`RequestOptions.commitId`); what a restore names. */
882
+ commitId: string | undefined;
883
+ /** The model has undone the snapshot it was made at: skipped when applied, unless a redo revives it. */
884
+ dead: boolean;
885
+ resolve: (response: CalcResponse | PromiseLike<CalcResponse>) => void;
886
+ reject: (error: unknown) => void;
452
887
  }
453
888
  export {};
454
889
  //# sourceMappingURL=Calculation.d.ts.map