@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
@@ -0,0 +1,855 @@
1
+ import { IRange, IFormulaContext, IRuntime, Scalar } from '@sheetxl/primitives';
2
+ import { FunctionProvider } from '@sheetxl/scripting';
3
+ import { AbstractModel, IModel } from '../../model';
4
+ import { ITransaction } from '../../transaction';
5
+ import { ISpatialMap, ISpatialQuery, ISpatialMap3D, ISparseGrid } from '../../collections';
6
+ import { IExternalBookCollection } from '../../externalBook';
7
+ import { ICalculation } from '../ICalculation';
8
+ import { NamedNodeInfo } from '../Types';
9
+ import { TableExtent } from '../_TableExtent';
10
+ import { IFormulaCompiler } from '../compiler';
11
+ import { FormulaBlockResolvers, IFormulaBlock, FormulaImager } from '../formula';
12
+ import { CalculationContext } from '../state/CalculationContext';
13
+ import { IContextContainer, CalcNode, CalcScope } from '../state';
14
+ import { PrecedentSpatialValue, PrecedentKind } from '../spatial';
15
+ import { FormulaSpatialValue } from '../spatial/FormulaSpatialValue';
16
+ import { CalcExecutor } from '../executor/CalcExecutor';
17
+ import { CalcGridBackend } from '../grid/CalcGridBackend';
18
+ import { ICalcGrid, FormulaHost } from '../grid';
19
+ import { CalcRequest, CalcResponse, CalcGridSpec, TableSymbols, NameSymbols } from '../grid/_CalcRequest';
20
+ import { ExternalBookBindings, ExternalNamedItem } from '../ExternalBookBindings';
21
+ import { ISymbolRegistry } from '../symbol';
22
+ /**
23
+ * The calculation backend: the engine's store and everything kept in it, and the container its
24
+ * grids, formulas and executor work against (DESIGN-CALC-SERVICE §5).
25
+ *
26
+ * @remarks
27
+ * Made by the first `start()` from the loaded engine module, and kept across a stop and a restart.
28
+ * Its history is its own (§13.13): every model commit has a mirror here, a request lands under the
29
+ * model's operation or savepoint it was made in, and a revert names a model commit. The model's ids
30
+ * are known to it through one map, landing to engine commit.
31
+ *
32
+ * What it asks of the calculation that made it is {@link CalcBackend.Callbacks}, and nothing else.
33
+ */
34
+ export declare class CalcBackend extends AbstractModel<CalcBackend.State> implements IContextContainer {
35
+ protected _callbacks: CalcBackend.Callbacks;
36
+ protected _runtime: IRuntime;
37
+ protected _symbols: ISymbolRegistry;
38
+ protected _resolvers: FormulaBlockResolvers;
39
+ protected _getSheetIndex: ((sheetName?: string) => number) | null;
40
+ protected _legacyIntersect: boolean;
41
+ protected _gridOptions: Partial<CalcGridBackend.ConstructorOptions>;
42
+ protected _calculation: ICalculation;
43
+ protected _context: CalculationContext & IFormulaContext;
44
+ protected _calcExecutor: CalcExecutor;
45
+ /** The cache as grids and the cached names as virtual grids — see {@link ExternalBookBindings}. */
46
+ protected _externalBindings: ExternalBookBindings;
47
+ protected _calcScope: CalcScope;
48
+ protected _cycleId: number;
49
+ protected _staticEpoch: number;
50
+ protected _precedentEpoch: number;
51
+ protected _epochSeenFormulas: ISpatialMap3D<FormulaSpatialValue> | null;
52
+ protected _epochSeenPrecedents: ISpatialMap3D<PrecedentSpatialValue> | null;
53
+ protected _epochSeenDynamics: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]> | null;
54
+ protected _volatiles: Set<CalcNode>;
55
+ protected _calculatedCommitId: string | null;
56
+ protected _calculatedEngineId: string | null;
57
+ /** The engine holds grids: from a start's boot until a stop. */
58
+ protected _holdsGrids: boolean;
59
+ protected _engineIds: Map<string, string>;
60
+ protected _landingOf: Map<string, string>;
61
+ protected _mirroredId: string | null;
62
+ protected _lastRevert: {
63
+ commitId: string;
64
+ regions: Map<string, IRange.Coords[]>;
65
+ } | null;
66
+ protected _symbolIndex: Map<string, IRange.Coords[]> | null;
67
+ protected _symbolIndexOf: ISpatialMap3D<FormulaSpatialValue> | null;
68
+ private _sheetsDerived;
69
+ private _tablesDerived;
70
+ private _namesDerived;
71
+ /**
72
+ * The grid registry and the grid maps as the batch {@link applyHeld} applies has written them,
73
+ * held here and written to the state once when the batch ends.
74
+ *
75
+ * @remarks
76
+ * Outside a batch each registration and each publish copies the whole map into a state of its
77
+ * own, so that every snapshot stays what it was. Inside the start batch that is one copy per
78
+ * grid over every grid, and a load whose defined names each compile into a grid of their own
79
+ * (thousands, in a legacy file) made the start quadratic in them - in time, and in the copies the
80
+ * batch's commit kept alive until it ended. `null` outside a batch.
81
+ */
82
+ private _collecting;
83
+ /**
84
+ * The names whose readers a drain recompiles ({@link recompileNamed}) or marks
85
+ * ({@link invalidateNamed}), gathered until that drain: each is one scan of every formula, and
86
+ * a load wires every name it holds in one batch.
87
+ */
88
+ private _recompileNamedPending;
89
+ private _invalidateNamedPending;
90
+ constructor(options: CalcBackend.ConstructorOptions);
91
+ /** Initializes the context: the function registry the backend calls through. */
92
+ initialize(): ReturnType<CalculationContext['_initialize']>;
93
+ /** The context every formula block evaluates in. */
94
+ getContext(): CalculationContext & IFormulaContext;
95
+ /** {@inheritDoc IContextContainer.getRuntime} */
96
+ getRuntime(): IRuntime;
97
+ /** {@inheritDoc IContextContainer.getScope} */
98
+ getScope(): CalcScope;
99
+ /** {@inheritDoc IContextContainer.createFormulaBlock} */
100
+ createFormulaBlock(gridId: string, context: IFormulaContext, expression: string, rowIndex: number, colIndex: number, editing?: ICalculation.FormulaTarget, legacyIntersect?: boolean): IFormulaBlock;
101
+ /** {@inheritDoc IContextContainer.getSymbols} */
102
+ getSymbols(): ISymbolRegistry;
103
+ /**
104
+ * {@inheritDoc IContextContainer.resolveScope}
105
+ *
106
+ * @remarks
107
+ * Bound: a reference range is handed it as a function of its own.
108
+ */
109
+ resolveScope: (scope: string) => string | undefined;
110
+ /** {@inheritDoc IContextContainer.getSheetIndex} */
111
+ getSheetIndex(sheetName?: string): number;
112
+ /** {@inheritDoc IContextContainer.getSheetCount} */
113
+ getSheetCount(): number;
114
+ /** {@inheritDoc IContextContainer.getSheetIds} */
115
+ getSheetIds(): readonly string[];
116
+ /** {@inheritDoc IContextContainer.getSheetSpanIds} */
117
+ getSheetSpanIds(scopeId: string): string[] | null;
118
+ /** {@inheritDoc IContextContainer.getFormulas} */
119
+ getFormulas(): ISpatialMap3D<FormulaSpatialValue>;
120
+ /** {@inheritDoc IContextContainer.setFormulas} */
121
+ setFormulas(spatial: ISpatialMap3D<FormulaSpatialValue>): void;
122
+ /** {@inheritDoc IContextContainer.getPrecedents} */
123
+ getPrecedents(): ISpatialMap3D<PrecedentSpatialValue>;
124
+ /** {@inheritDoc IContextContainer.setPrecedents} */
125
+ setPrecedents(spatial: ISpatialMap3D<PrecedentSpatialValue>): void;
126
+ /** {@inheritDoc IContextContainer.getDynamics} */
127
+ getDynamics(): Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
128
+ /** {@inheritDoc IContextContainer.setDynamics} */
129
+ setDynamics(map: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>): void;
130
+ /** {@inheritDoc IContextContainer.addDynamicPrecedent} */
131
+ addDynamicPrecedent(node: CalcNode, range: IRange.Coords | undefined, kind: PrecedentKind): void;
132
+ /** {@inheritDoc IContextContainer.getVolatiles} */
133
+ getVolatiles(): Set<CalcNode>;
134
+ /** {@inheritDoc IContextContainer.isLegacyIntersect} */
135
+ isLegacyIntersect(): boolean;
136
+ /** {@inheritDoc IContextContainer.getGridValues} */
137
+ getGridValues(gridId: string): ISparseGrid<Scalar>;
138
+ /** {@inheritDoc IContextContainer.getIncrementalUpdates} */
139
+ getIncrementalUpdates(gridId: string): ICalcGrid.IncrementalUpdates | null;
140
+ /** {@inheritDoc IContextContainer.registerGrid} */
141
+ registerGrid(grid: CalcGridBackend): void;
142
+ /** {@inheritDoc IContextContainer.unregisterGrid} */
143
+ unregisterGrid(gridId: string): void;
144
+ /** The grids by id, as the open batch has them, else as the state does. */
145
+ protected _gridsAll(): Map<string, CalcGridBackend>;
146
+ /**
147
+ * Writes the grid registry: a copy of its own in the state, or the open batch's copy, which
148
+ * reaches the state when the batch ends. See {@link _collecting}.
149
+ */
150
+ private _writeGridsAll;
151
+ /** {@link _writeGridsAll}, for the grid maps. */
152
+ private _writeGridMaps;
153
+ /**
154
+ * Runs `batch` with the grid registry and maps collected, and writes them to the state once after;
155
+ * its requests share one clone key (see {@link getHeldCloneKey}) unless the caller set one.
156
+ *
157
+ * @remarks
158
+ * A held batch's, and a burst of defined-name compiles' (`NamedFormulaCollection._materializeMany`):
159
+ * both make many grids under one engine operation, and without this each grid's registration is
160
+ * a write that copies a registry holding an entry per sheet and per compiled name.
161
+ * @internal
162
+ */
163
+ _collectingGrids<R>(batch: () => R): R;
164
+ /** {@inheritDoc IContextContainer.getGrid} */
165
+ getGrid(gridId: string): CalcGridBackend | null;
166
+ /** {@inheritDoc IContextContainer.markDirty} */
167
+ markDirty(dirtyRegions: ISpatialMap.Entry[]): boolean;
168
+ /** {@inheritDoc IContextContainer.getDirtyGrid} */
169
+ getDirtyGrid(gridId: string): ISpatialQuery;
170
+ /** {@inheritDoc IContextContainer.calculateGrid} */
171
+ calculateGrid(gridId: string, options?: ICalculation.CalculateOptions): Promise<ICalculation.Status>;
172
+ /** {@inheritDoc IContextContainer.requestCalculateGrid} */
173
+ requestCalculateGrid(gridId: string): void;
174
+ /** {@inheritDoc IContextContainer.getCycleId} */
175
+ getCycleId(): number;
176
+ /** {@inheritDoc IContextContainer.getCalculatedCommitId} */
177
+ getCalculatedCommitId(): string | null;
178
+ /**
179
+ * {@inheritDoc IContextContainer.landRequest}
180
+ *
181
+ * @remarks
182
+ * A root-level request after a nested savepoint of the same root has landed: the root's own
183
+ * commit is behind the tip, and the savepoint is part of the root for good, so the write joins
184
+ * the tip. The engine's live maps are always the tip's.
185
+ */
186
+ landRequest<R>(landingId: string | undefined, action: () => R): R;
187
+ /** {@inheritDoc IContextContainer.sendRequest} */
188
+ sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
189
+ /** {@inheritDoc IContextContainer.getImager} */
190
+ getImager(gridId: string): FormulaImager;
191
+ /** {@inheritDoc IContextContainer.setGridMaps} */
192
+ setGridMaps(gridId: string, maps: object): void;
193
+ /** {@inheritDoc IContextContainer.recordTouched} */
194
+ recordTouched(gridId: string, regions: readonly IRange.Coords[]): void;
195
+ private _recordTouchedNow;
196
+ /** {@inheritDoc IContextContainer.revertTo} */
197
+ revertTo(commitId: string, gridId: string): IRange.Coords[] | null;
198
+ /** {@inheritDoc IContextContainer.getCalcEpochs} */
199
+ getCalcEpochs(): {
200
+ staticEpoch: number;
201
+ precedentEpoch: number;
202
+ };
203
+ /** {@inheritDoc IContextContainer.bumpCalcEpochs} */
204
+ bumpCalcEpochs(includeStatic: boolean): void;
205
+ /** {@inheritDoc IContextContainer.getNow} */
206
+ getNow(): number;
207
+ /** {@inheritDoc IContextContainer.whenSafe} */
208
+ whenSafe(action: () => Promise<unknown>): void;
209
+ /** {@inheritDoc IContextContainer.isLoading} */
210
+ isLoading(): boolean;
211
+ /** {@inheritDoc IContextContainer.recompileNamed} */
212
+ recompileNamed(nameId: string): void;
213
+ /** {@inheritDoc IContextContainer.invalidateNamed} */
214
+ invalidateNamed(nameId: string): void;
215
+ /** {@inheritDoc IContextContainer.getNamedNodeInfo} */
216
+ getNamedNodeInfo(nameId: string, live?: boolean): NamedNodeInfo | null;
217
+ /**
218
+ * {@inheritDoc IContextContainer.getNamedDependents}
219
+ *
220
+ * @remarks
221
+ * The bucket for a NAME out of {@link getSymbolDependents}: one index for every symbol kind.
222
+ */
223
+ getNamedDependents(nameId: string): readonly IRange.Coords[];
224
+ /**
225
+ * {@inheritDoc IContextContainer.getNamedDependentNames}
226
+ *
227
+ * @remarks
228
+ * A block that depends on a name and lives on a VIRTUAL grid is another name's BODY, and that
229
+ * grid's id is that name's id — `add` binds the two together and `delete` keeps the grid rather
230
+ * than dropping it. So the hop is a bucket lookup on the id itself; a sheet grid id is never a
231
+ * name id, which the calculation is asked to confirm before the walk continues through one.
232
+ *
233
+ * Expands each id once. That is the cycle guard (`A = B+1`, `B = A+1` reaches `A` again on its
234
+ * second hop) and the diamond guard both.
235
+ */
236
+ getNamedDependentNames(nameId: string): ReadonlySet<string>;
237
+ /** A grid of the backend's, registered. */
238
+ createBackendGrid(options?: CalcGridBackend.ConstructorOptions): CalcGridBackend;
239
+ /**
240
+ * The engine's grid for a model grid, as a `create` describes it. What it pushes reaches the
241
+ * model grid under the same id.
242
+ */
243
+ createEngineGrid(spec: CalcGridSpec): CalcGridBackend;
244
+ /** The engine holds grids from here: an external book's cache is the engine's own content, made now. */
245
+ open(): void;
246
+ /**
247
+ * The engine's graph and every grid in it, gone: what a stop leaves, and what a rebuild starts
248
+ * from. The model's grids are untouched.
249
+ */
250
+ drop(): void;
251
+ /** Every grid the engine holds, by id. */
252
+ getGrids(): ReadonlyMap<string, CalcGridBackend>;
253
+ /**
254
+ * Brings the external books' grids and cached names into step with the collection.
255
+ *
256
+ * @remarks
257
+ * The first, `initial`, is made once the calculation holds this backend: binding a cached name
258
+ * looks the name up through the calculation's symbols, which ask the backend for it.
259
+ *
260
+ * @param initial The sync made when the backend is, before any formula has compiled.
261
+ * @returns The ids of the books whose grids or names changed.
262
+ */
263
+ syncExternalBooks(initial?: boolean): ReadonlySet<string>;
264
+ /** A cached name of an external book, by the id its virtual grid is registered under. */
265
+ getExternalName(id: string): ExternalNamedItem | null;
266
+ /** A cached name of an external book, by its spelling within a book's scope. */
267
+ getExternalNameByScope(name: string, scopeId: string): ExternalNamedItem | null;
268
+ /**
269
+ * Applies one request from the channel: the service's own (`sheets`, `tables`, `names`,
270
+ * `rollback`, `create`) here, a grid's on its grid. A request for a grid the engine does not hold
271
+ * is answered with nothing.
272
+ *
273
+ * @param held The request was held while the engine came up: it lands under the engine's
274
+ * current commit, whose snapshot it was made at has been mirrored already.
275
+ * @throws What the grid throws applying it.
276
+ */
277
+ apply(gridId: string, landingId: string | undefined, request: CalcRequest, held?: boolean): CalcResponse | PromiseLike<CalcResponse>;
278
+ /**
279
+ * Applies what the channel held while the engine came up (DESIGN-CALC-SERVICE §6.3): every
280
+ * grid made first, then a defined name's body, in its own order (`ICalcGrid.BodyOptions.priority`),
281
+ * then the rest in send order. A name must be bound before any formula that mentions it is
282
+ * examined, and each is held behind the create of its own grid.
283
+ *
284
+ * @remarks
285
+ * Every sheet a held `sheets` message adds enters the replica at its end first, under the name it
286
+ * was first listed by: a defined name's body is applied ahead of the seeds and may name a sheet
287
+ * listed while starting. Every table a held `tables` message adds enters the same way, under the
288
+ * name and columns it was first told by: a seed sent ahead of a later sheet's tables compiles a
289
+ * reference to one, and a reference to a table the replica does not hold is refused. The messages
290
+ * themselves still apply in send order, so a seed sent before a rename binds the name it was sent
291
+ * under.
292
+ *
293
+ * A request whose snapshot the model has undone since (`dead`) is answered and not applied,
294
+ * except a grid's `create`.
295
+ *
296
+ * @param wroteWhileOff Something was written while the engine was `Off`: a seed asking for a
297
+ * full pass keeps it. Otherwise its values are the engine's own, or a file's.
298
+ * @returns What each request answered, in the order they were applied.
299
+ */
300
+ applyHeld(batch: readonly CalcBackend.Held[], wroteWhileOff: boolean): CalcBackend.Applied[];
301
+ /** {@inheritDoc IContextContainer.getHeldCloneKey} */
302
+ getHeldCloneKey(): string | null;
303
+ /** See {@link getHeldCloneKey}. */
304
+ private _heldCloneKey;
305
+ protected _applyHeldNow(batch: readonly CalcBackend.Held[], wroteWhileOff: boolean): CalcBackend.Applied[];
306
+ /**
307
+ * The model restored itself to `commitId`: the engine restores its own history there.
308
+ *
309
+ * @remarks
310
+ * An engine that is not up holds nothing to restore; it answers for the model's snapshot from
311
+ * here, and its start opens from it. One coming up holds the start's replicas, made after any
312
+ * commit it has no mirror of: restored where it has one, otherwise it answers for the
313
+ * snapshot. A `Running` one whose history does not reach the commit (one from before its
314
+ * start, or trimmed since) is rebuilt from the model as it is there.
315
+ *
316
+ * @param status The calculation's status now.
317
+ * @returns Whether a rebuild is owed.
318
+ */
319
+ followRestore(commitId: string, status: ICalculation.Status): boolean;
320
+ /**
321
+ * The engine made again from the model, as a start makes it: its graph dropped, its replicas as
322
+ * given, the external books' grids made. The model's grids are opened behind it, and its history
323
+ * starts there ({@link forgetEarlierLandings}).
324
+ */
325
+ rebuild(replica: CalcBackend.Replica): void;
326
+ /**
327
+ * Compiles an expression at a cell without writing it anywhere: what `ICalculation.createFormula`
328
+ * is built on.
329
+ *
330
+ * @remarks
331
+ * A `virtual` formula is held in a grid of its own (`temporary`), compiled as if written on
332
+ * `gridId`. It compiles with the `'editing'` profile, in `target`'s form: the text exactly as
333
+ * typed, and as much structure as a partial parse recovers (see FormulaCompilerProfile).
334
+ *
335
+ * @returns `null` when the grid the formula is anchored in does not exist.
336
+ */
337
+ compileTemporary(expression: string, at: CalcBackend.TemporaryAt): CalcBackend.Temporary | null;
338
+ /**
339
+ * Formula text as a cell of `gridId` at (`rowIndex`, `colIndex`) would store it, without writing
340
+ * it anywhere: compiled for storage, so `[#This Row]` becomes `@` and an unqualified structured
341
+ * reference is given the name of the table it binds to there.
342
+ */
343
+ toStoredText(gridId: string, expression: string, rowIndex: number, colIndex: number): string;
344
+ /**
345
+ * Every formula block that references a symbol — a defined name, a table, or an external BOOK —
346
+ * by its stable id, as `{ ...ref, scope: gridId }` coords.
347
+ *
348
+ * @remarks
349
+ * The memo is keyed on the formula spatial's IDENTITY, which is the whole invalidation story:
350
+ * the map is copy-on-write (`getFormulas().clone()` before any mutation, `setFormulas` to
351
+ * publish), so a formula added, removed, shifted or recompiled necessarily replaces it — and an
352
+ * undo, which restores an earlier map, replaces it too. Nothing has to remember to clear this.
353
+ *
354
+ * The sweep is the same `all3D` walk {@link recompileReferencing} and
355
+ * {@link markDirtyReferencing} already do, done once for every symbol instead of once per
356
+ * symbol. Bucketed off `getReferencedSymbolIds()` — names, tables and books alike — so a book's
357
+ * dependents (`IExternalBook.getDependents`) come out of the same walk as a name's, and a name's
358
+ * body that cites a book lands in the book's bucket with the name's id as its scope.
359
+ */
360
+ getSymbolDependents(symbolId: string): readonly IRange.Coords[];
361
+ /**
362
+ * Every symbol id a formula cites, to the blocks citing it — the index
363
+ * {@link getSymbolDependents} answers from, memoized the same way.
364
+ */
365
+ protected _getSymbolIndex(): ReadonlyMap<string, readonly IRange.Coords[]>;
366
+ /**
367
+ * `changedIds` widened to everything a change to them reaches through the SYMBOL graph: each id
368
+ * plus, for the names among them, every name transitively referencing it.
369
+ *
370
+ * @remarks
371
+ * The one expansion both {@link recompileReferencing} and {@link markDirtyReferencing} apply
372
+ * before their all3D scan, so a formula naming an intermediate name is matched by the same pass
373
+ * that matches one naming the changed name directly. Ids that are not names (a table's) expand
374
+ * to themselves.
375
+ */
376
+ protected _namedTargets(changedIds: ReadonlySet<string>): ReadonlySet<string>;
377
+ /**
378
+ * Reverse-invalidates only the formulas that reference any of `changedIds` — the stable name/table
379
+ * fake ids reported by `IndirectSymbolProvider.reconcile()` (add/heal, delete, rename).
380
+ *
381
+ * @remarks
382
+ * `bind()` assigns a stable fake id at compile time regardless of whether the symbol resolves,
383
+ * and reconcile() reports that same id — so matching a formula's `getReferencedSymbolIds()`
384
+ * catches the "heal" case (`#NAME?`/`#REF!` → valid) that a precedent-range markDirty can't,
385
+ * because an unresolved reference has no precedent range.
386
+ *
387
+ * Marking the direct referencers is not enough where the referencer is another NAME. Downstream
388
+ * of a cell, the dependency graph carries transitivity for free; downstream of a name it carries
389
+ * nothing, because a name registers no precedent range for the formulas that mention it. So the
390
+ * ids are first expanded over the symbol graph ({@link _namedTargets}), and only from the cells
391
+ * that land in are the ordinary edges left to do the rest.
392
+ *
393
+ * O(formulas) all3D scan — same cost/scale as {@link recompileReferencing}.
394
+ *
395
+ * @returns `true` if any formula was marked dirty.
396
+ */
397
+ markDirtyReferencing(changedIds: ReadonlySet<string>): boolean;
398
+ /**
399
+ * Recompiles every formula that references any of `changedIds` — a name or a table, directly or
400
+ * through a name — from its own text, so it re-derives its precedents.
401
+ *
402
+ * @remarks
403
+ * The re-wire half of {@link markDirtyReferencing}. A node stores the coords its references
404
+ * resolved to when it was wired, and `precedentSpatial` indexes those, so a symbol that now
405
+ * designates different cells (a name redefined, a table resized) leaves its readers evaluating
406
+ * against the old edges; a dirty mark does not reach them. Same `all3D` scan and the same
407
+ * {@link _namedTargets} expansion: a name whose body cites the symbol reaches its own readers.
408
+ *
409
+ * Run at a safe point only — it writes inputs.
410
+ */
411
+ recompileReferencing(changedIds: ReadonlySet<string>): void;
412
+ /**
413
+ * A table's body has changed rows: re-fit the A1 references that spanned it.
414
+ *
415
+ * @remarks
416
+ * Excel treats a reference whose ROWS are exactly a table's body - or run from its header to the
417
+ * body's end - as naming the body, whatever columns of the table it covers, and keeps it on the
418
+ * body however the body's rows change (probed, `probe-table-refit.ps1`): `SUM(B2:B5)` over body
419
+ * rows 2-5 reads `SUM(B2:B6)` after a row is appended, and `SUM(B2:B3)` after a resize gives two
420
+ * up. Relative, absolute or mixed alike, from any sheet, and in anything that holds a reference -
421
+ * a defined name, a table's held totals formula and a condition's formula are blocks too. A
422
+ * reference that only starts or only ends with the body is an ordinary one, and a change of
423
+ * COLUMNS re-fits nothing. A name's relative rows are read from its body's origin, A1, as Excel
424
+ * reads them (`probe-table-refit-relative.ps1`); a shift never moves them, so a row at the top
425
+ * leaves such a name alone.
426
+ *
427
+ * An insert or delete inside the body already leaves such a reference right, so this is asked
428
+ * only for what a shift gets wrong: rows taken or given up at the body's end, and a row inserted
429
+ * at its first row (which pushes the whole reference down).
430
+ *
431
+ * One search of the precedent index over the rows that match - an entry per (block, reference)
432
+ * that reads them - so the cost is the readers of the body, on a change of a table's rows. The
433
+ * text a cell shows catches up with the engine the way it does after any shift.
434
+ *
435
+ * A block is re-fitted cell by cell: only the cells whose reference spans the body are rewritten,
436
+ * which splits them out of the block. An array-entered block is one formula, read at its top-left,
437
+ * and is never split.
438
+ *
439
+ * **A DELIBERATE DIVERGENCE lives here** (Michael, 2026-09-22). Excel asks how the cell was
440
+ * authored, not what it reads: a fully relative reference is left where it is when the cell
441
+ * belongs to a shared-formula group, and re-fitted when it stands alone - so `SUM(B2:B5)` follows
442
+ * the body when it was typed and does not when the same three formulas were filled, and the file
443
+ * carries the difference as `<f t="shared">` (`probe-table-refit-fillhandle.ps1`,
444
+ * `probe-table-refit-roundtrip.ps1`). Here a run is a data-model fact, not an authoring one -
445
+ * cells holding the same formula are conflated whatever made them - so honoring that rule would
446
+ * make a formula follow the body or not depending on what a NEIGHBOR happens to hold, which a
447
+ * user cannot see. Every reference that spans the body is re-fitted, however it was written.
448
+ *
449
+ * @param sheet The sheet the table is on, by id or name.
450
+ * @param columns The table's columns. A reference reaching outside them is an ordinary one.
451
+ * @param match The rows a reference has to span to be one of the body's, as they read NOW.
452
+ * @param headerRow The header's row when a reference from it to `match.rowEnd` also counts.
453
+ * @param to The body's rows now.
454
+ */
455
+ refitTableRows(sheet: string, columns: {
456
+ colStart: number;
457
+ colEnd: number;
458
+ }, match: {
459
+ rowStart: number;
460
+ rowEnd: number;
461
+ }, headerRow: number | null, to: {
462
+ rowStart: number;
463
+ rowEnd: number;
464
+ }): void;
465
+ /**
466
+ * Replaces every structured reference to `tableId` on a sheet: by its address in `extent`, or by
467
+ * `#REF!` when there is none. A name's body or an external book's cached formula is left: not
468
+ * text a user wrote on a sheet.
469
+ */
470
+ rewriteTableReferences(tableId: string, extent: TableExtent | null): void;
471
+ /**
472
+ * Writes `text` over `fsv`'s cells - or over `coords`, a part of them - as the engine's own input.
473
+ * Safe point only.
474
+ */
475
+ protected _writeBlockText(fsv: FormulaSpatialValue, text: string, coords?: IRange.Coords): void;
476
+ /** Whether any cell is out of date. */
477
+ hasDirty(): boolean;
478
+ /**
479
+ * Runs one pass over the dirty set (or all of it, or a range of it), and writes what it found
480
+ * into the state.
481
+ *
482
+ * @remarks
483
+ * One recalculation per COMMIT, not per notification of one.
484
+ *
485
+ * `gridId` marks the engine's own reactive pass — `ICalcGrid.calculate()`, which is what an
486
+ * edit schedules (`Sheet.onAfterStateChange`) and what `ready()` runs per dirty grid. An
487
+ * explicit `calculate()` from the API (F9, Shift+F9, a resolved async result) has no `gridId`
488
+ * and is always honored.
489
+ *
490
+ * The reactive pass is skipped only when BOTH halves say there is nothing to do:
491
+ *
492
+ * - the current commit has already had its recalculation. Commits notify their listeners on
493
+ * `setTimeout(0)`, so a script that writes N cells without awaiting queues N dispatchers,
494
+ * none of which run until it yields. By then the store is at the LAST commit and every one
495
+ * of those dispatchers asks for a pass over the same final state — N-1 of them describing
496
+ * work another pass has already done.
497
+ * - nothing is dirty. The dirty set is cumulative and whichever pass runs first consumes all
498
+ * of it, but a seed (`CalcGridBackend._seedNow`) marks dirty without producing a commit of its
499
+ * own, so the commit id alone would strand it.
500
+ *
501
+ * Neither half alone is enough, and the second is emphatically not sufficient: an edit that
502
+ * marks nothing dirty is still a recalculation in Excel, and it is the only thing that re-rolls
503
+ * `RAND`/`NOW` — see the "unrelated edit" case in `graph/volatile.test.ts`.
504
+ *
505
+ * Together they were the whole cost of the round-trip workbook build (`functions-to-xlsx.ts`):
506
+ * 2,594 redundant passes, each re-evaluating every volatile in the workbook and everything
507
+ * downstream of it, for 49,289 of 52,917 total evaluations — 93% of the engine's work, still
508
+ * running six seconds after `ready()` had resolved. See DESIGN-CALC-PASS-GATING.md.
509
+ */
510
+ runPass(options: ICalculation.CalculateOptions | undefined, pass: CalcBackend.PassOptions): void;
511
+ /** Each grid with cells out of date runs its pass - every grid, when `full`. */
512
+ calculateGrids(full: boolean): Promise<void>;
513
+ /** The cells of every cycle the last pass found. */
514
+ getCycleCells(): ReturnType<CalcExecutor['getCycleCells']>;
515
+ /** Demand and plan counters and timings since construction or the last {@link resetStats}. */
516
+ getDemandStats(): ReturnType<CalcExecutor['getDemandStats']>;
517
+ /** Zeroes every counter and timing. */
518
+ resetStats(): void;
519
+ /** The executor's plan-cache mode - see `CalcExecutor.planCacheMode`. */
520
+ getPlanCacheMode(): 'off' | 'assert' | 'on';
521
+ /** Sets the executor's plan-cache mode. */
522
+ setPlanCacheMode(mode: 'off' | 'assert' | 'on'): void;
523
+ /** The sheet replica: grid id to name, in tab order. */
524
+ getSheets(): ReadonlyMap<string, string | null>;
525
+ /** The table replica: table id to its name and columns. */
526
+ getTables(): ReadonlyMap<string, TableSymbols>;
527
+ /** The name replica: name id to its spelling and scope sheet. */
528
+ getNames(): ReadonlyMap<string, NameSymbols>;
529
+ /** Replaces the three replicas at once: what a start or a rebuild seeds them with. */
530
+ setReplica(replica: CalcBackend.Replica): void;
531
+ /**
532
+ * Replaces the sheet replica with the list a `sheets` message carries.
533
+ *
534
+ * @remarks
535
+ * A sheet that survived with a different name or at a different position changes what the
536
+ * functions reading names and positions answer (`INDIRECT`, `FORMULATEXT`, `CELL`, `SHEET`, a
537
+ * 3-D span's members), and none of that is a precedent: a full pass follows, which is what the
538
+ * model asked for on a rename or a move before the engine was told of either. A sheet
539
+ * appended moves nothing; one inserted or deleted ahead of a survivor moves it, and counts.
540
+ */
541
+ applySheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
542
+ /** Enters each sheet the replica does not hold yet at its end, under the name given. */
543
+ enterSheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
544
+ /** Enters each table the replica does not hold yet, as given; as {@link enterSheets} does. */
545
+ enterTables(tables: ReadonlyMap<string, TableSymbols>): void;
546
+ /**
547
+ * Applies what a `tables` message carries to the table replica. A reference bound by a name the
548
+ * replica did not have yet heals to it now, as one to a table added does.
549
+ */
550
+ applyTables(changes: readonly (readonly [id: string, table: TableSymbols | null])[]): void;
551
+ /** Applies what a `names` message carries to the name replica, as {@link applyTables} does. */
552
+ applyNames(changes: readonly (readonly [id: string, name: NameSymbols | null])[]): void;
553
+ /** The table replica and its name index. */
554
+ getReplicaTables(): {
555
+ of: ReadonlyMap<string, TableSymbols>;
556
+ idByName: Map<string, string>;
557
+ } | null;
558
+ /** The name replica and its spelling index, as {@link getReplicaTables}. */
559
+ getReplicaNames(): {
560
+ of: ReadonlyMap<string, NameSymbols>;
561
+ idsByName: Map<string, string[]>;
562
+ } | null;
563
+ /**
564
+ * The name a spelling resolves to from `scope`, by the replica: that sheet's own name first, then
565
+ * the global; asked from no sheet, the global, else any scoped one - the collection's rule
566
+ * (`NamedFormulaCollection.getByName`). `undefined` when the replica cannot answer.
567
+ */
568
+ getReplicaNameId(name: string, scope: string | null | undefined): string | undefined;
569
+ /** A sheet's grid id by its name, as Excel reads sheet names: case-insensitively. `null` when none. */
570
+ getSheetIdByName(name: string): string | null;
571
+ /** {@inheritDoc IContextContainer.isGridless} */
572
+ isGridless(sheetId: string): boolean;
573
+ /** A sheet's name by its grid id, or `null` for a grid that is no sheet. */
574
+ getSheetName(gridId: string): string | null;
575
+ private _sheetsCache;
576
+ /** When the engine's current commit was made: the clock a pass reads `NOW` from. */
577
+ getCommitTimestamp(): number;
578
+ /** The engine's current commit: where a held request the start batch applies lands. */
579
+ getCurrentCommitId(): string;
580
+ /**
581
+ * Records the model commit that just landed: its mirror, a commit of the engine's own that names
582
+ * it in the engine's record.
583
+ *
584
+ * @remarks
585
+ * A commit even when nothing landed under the model's: an engine write made after the close,
586
+ * outside any model operation (a deferred recompile), amends the engine's tip, and that tip has
587
+ * to be this model commit's, not the one before it, or a restore to the one before carries the
588
+ * write. The engine's record changes with every mirror, so the commit is never elided.
589
+ */
590
+ mirror(commitId: string): void;
591
+ /** What the engine answers for from here - the model's snapshot - without restoring anything. */
592
+ retarget(commitId: string): void;
593
+ /** Whether the engine can restore to a model commit: it has a landing for it and still holds that commit. */
594
+ holdsModelCommit(commitId: string): boolean;
595
+ /** Forgets a landing, and the engine commit it made if it made one. */
596
+ dropLanding(landingId: string): void;
597
+ /**
598
+ * The engine's history starts at the boot: the commits mirrored before it hold none of the
599
+ * grids the boot made, so a restore to one is not followed but rebuilt. The model's commit now
600
+ * is the boot's.
601
+ */
602
+ forgetEarlierLandings(): void;
603
+ /**
604
+ * A model root closed without landing (an amend, or nothing written): the engine commits made
605
+ * under its id (`<id>:0`, `<id>:n`) fold into the mirror of the model's current commit.
606
+ */
607
+ foldPhantom(rootId: string): void;
608
+ /**
609
+ * Restore the engine's history to the model's `commitId`, once; answers what changed per grid.
610
+ *
611
+ * @remarks
612
+ * The changed regions are the union of what every engine commit between the two snapshots
613
+ * recorded as touched (`IntentTouched`), whichever direction the restore goes; they are marked
614
+ * dirty so the pass that follows recomputes them, and handed back so each grid can re-vend the
615
+ * blocks over them. An id the engine no longer holds is answered with `null`: the engine's
616
+ * history is shorter than the model's there, and a seed is what brings it back (step 3).
617
+ */
618
+ restoreTo(commitId: string): Map<string, IRange.Coords[]> | null;
619
+ /**
620
+ * A nested savepoint of the model rolled back: what the engine landed under it goes with it.
621
+ * What a `rollback` message does.
622
+ *
623
+ * @remarks
624
+ * The savepoint is still open while it rolls back, so every engine commit made after its own,
625
+ * under the same root, was landed by a savepoint nested in it, and goes too.
626
+ */
627
+ rollbackSavepoint(savepointId: string): void;
628
+ /** Whether the engine still holds a commit: its own record is in every commit made since it was built. */
629
+ protected _holdsEngineCommit(engineId: string): boolean;
630
+ /** Drops the landings whose engine commit the store has trimmed or pruned. Rare: sized by the store's cap. */
631
+ protected _sweepLandings(): void;
632
+ /**
633
+ * The engine commit an engine write made during a model operation lands in: the operation's
634
+ * root (`<id>:0`) or the nested savepoint open now. `null` outside an operation, or while a
635
+ * landing is already open (the write joins it).
636
+ */
637
+ protected _modelLanding(): string | null;
638
+ /**
639
+ * Engine state is never a step of history on its own: a write is attributed to the model
640
+ * operation it is made in, or folded into the current snapshot (a pass's bookkeeping).
641
+ */
642
+ protected _updateState(updateState?: Partial<CalcBackend.State>, options?: ITransaction.StoreOperationOptions, events?: (keyof IModel.Events)[]): this;
643
+ protected _amendState(updateState?: Partial<CalcBackend.State>, options?: ITransaction.StoreOperationOptions, events?: (keyof IModel.Events)[]): this;
644
+ /**
645
+ * A restore moves every grid to another snapshot and reports nothing, so each grid adopts the
646
+ * maps the snapshot holds for it, and the calculation is told.
647
+ */
648
+ protected _processRestoreOrRevert(state: CalcBackend.State, commit: ITransaction.ICommit): void;
649
+ get [Symbol.toStringTag](): string;
650
+ toString(): string;
651
+ }
652
+ /**
653
+ * Interfaces for creating a {@link CalcBackend}.
654
+ */
655
+ export declare namespace CalcBackend {
656
+ /**
657
+ * What the backend asks of the calculation that made it: the in-process half of the backend's
658
+ * interface. Everything else it reads it was given at construction, as data.
659
+ */
660
+ interface Callbacks {
661
+ /** The compiler for stored text, or the editing one for `target`; `null` before a start has loaded one. */
662
+ getCompiler(target?: ICalculation.FormulaTarget): IFormulaCompiler | null;
663
+ /** The landing of the model operation open now - its root `<id>:0` or its nested savepoint - or `null` outside one. */
664
+ getModelLanding(): string | null;
665
+ /** Sends a grid's request through the calculation's channel. */
666
+ sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
667
+ /** What images a grid's records for the model. */
668
+ getImager(gridId: string): FormulaImager;
669
+ /** A pass's or a seed's results for a model grid: pushed to the grid under the same id. */
670
+ onCalculated(gridId: string, results: ICalcGrid.Results): void;
671
+ /** The engine's store was restored: what the calculation's own listeners and its hosts are told. */
672
+ onRestored(): void;
673
+ /** Something was marked out of date: the calculation state may have changed. */
674
+ onDirty(): void;
675
+ /** A replica of tables or names changed: what its symbols resolve to now is reconciled. */
676
+ onSymbolsChanged(kind: 'tables' | 'names'): void;
677
+ /** Runs an action at the calculation's next safe point; a `priority` one ahead of the rest. */
678
+ whenSafe(action: () => Promise<unknown>, priority: boolean): void;
679
+ /** Whether the calculation is loading: draining, or starting. */
680
+ isLoading(): boolean;
681
+ /** Runs a pass: explicit without `gridId`, reactive for it with one. */
682
+ calculate(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
683
+ /** Owes a reactive pass for `gridId`, run once the current flush is over. */
684
+ owePass(gridId: string): void;
685
+ /** Whether a grid id is a defined name's: its virtual grid's id is the name's. */
686
+ isDefinedName(gridId: string): boolean;
687
+ /** A defined name as a node of the dependency graph, or `null` when there is no such name. */
688
+ getNameNodeInfo(nameId: string): NamedNodeInfo | null;
689
+ /** A table by its stable id, as it is now, or `null` when it is gone: what a structured reference resolves against. */
690
+ getTable(tableId: string): TableExtent | null;
691
+ /**
692
+ * Writes `text` over `coords` of a formula host's body, where the model holds it.
693
+ * @returns `false` when no host holds the grid.
694
+ */
695
+ rewriteHost(gridId: string, coords: IRange.Coords, text: string): boolean;
696
+ /** A virtual grid for an external book's cached name, as a host. */
697
+ createHost(id: string): FormulaHost;
698
+ /** The id the named-formula symbols give a name defined in `scopeId`. */
699
+ bindNameId(name: string, scopeId: string): string;
700
+ }
701
+ /** A request the channel held while the engine came up: see {@link CalcBackend.applyHeld}. */
702
+ interface Held {
703
+ gridId: string;
704
+ request: CalcRequest;
705
+ /** The model snapshot it was made at. */
706
+ commitId: string | undefined;
707
+ /** The model has undone the snapshot it was made at since. */
708
+ dead: boolean;
709
+ }
710
+ /** What one held request answered: its response, or what applying it threw. */
711
+ interface Applied {
712
+ /** Its position in the batch. */
713
+ index: number;
714
+ response?: CalcResponse | PromiseLike<CalcResponse>;
715
+ error?: unknown;
716
+ failed?: boolean;
717
+ }
718
+ /** Where a formula held apart from any grid is compiled: see {@link CalcBackend.compileTemporary}. */
719
+ interface TemporaryAt {
720
+ /** The sheet it is written on, or the one a virtual formula is compiled as if on. */
721
+ gridId: string | null;
722
+ /** Held in a grid of its own rather than on `gridId`. */
723
+ virtual: boolean;
724
+ rowIndex: number;
725
+ colIndex: number;
726
+ target: ICalculation.FormulaTarget;
727
+ }
728
+ /** A formula held apart from any grid: its block, the grid it is anchored in, and its evaluation. */
729
+ interface Temporary {
730
+ block: IFormulaBlock;
731
+ calcGrid: CalcGridBackend;
732
+ /** The grid it is anchored in: its sheet, or `temporary`. */
733
+ gridId: string;
734
+ /** Evaluates `block` - this one, or a repair of it - at the formula's cell. */
735
+ evaluate(block: IFormulaBlock, evalIndex: number | undefined, alwaysReturnRange: boolean): Scalar | IRange;
736
+ }
737
+ /** The three replicas, as a start seeds them. */
738
+ interface Replica {
739
+ sheets: ReadonlyMap<string, string | null>;
740
+ /** The sheets in {@link sheets} that have no grid: chart, macro and dialog sheets. */
741
+ gridless?: ReadonlySet<string>;
742
+ tables: ReadonlyMap<string, TableSymbols>;
743
+ names: ReadonlyMap<string, NameSymbols>;
744
+ }
745
+ /** What a pass is: see {@link CalcBackend.runPass}. */
746
+ interface PassOptions {
747
+ /** A full pass; when absent, whether one is owed. */
748
+ full?: boolean;
749
+ /** The cells to calculate, when only a range is. */
750
+ calcCoords?: IRange.Coords;
751
+ /** The grid whose reactive pass this is; absent for an explicit one. */
752
+ gridId?: string;
753
+ /** Iterative calculation's limits, or `null` when it is off. */
754
+ iterate: {
755
+ maxIteration: number;
756
+ maxChange: number;
757
+ } | null;
758
+ /** The model operation open now: what the pass's results are realized under. */
759
+ openOperationId: string | null;
760
+ }
761
+ interface ConstructorOptions {
762
+ callbacks: Callbacks;
763
+ /** The runtime formulas evaluate against. */
764
+ runtime: IRuntime;
765
+ /** The symbols formulas bind through. */
766
+ symbols: ISymbolRegistry;
767
+ /** What every formula block resolves structured references and names through. */
768
+ resolvers: FormulaBlockResolvers;
769
+ /** Function providers bound after the built-ins. */
770
+ functions?: readonly FunctionProvider[];
771
+ /** The owner's selected sheet, and a sheet position by a name the replica does not hold. */
772
+ getSheetIndex?: (sheetName?: string) => number;
773
+ /** The file asks for Excel's legacy implicit intersection. */
774
+ legacyIntersect?: boolean;
775
+ /** Options every grid of the backend's is made with. */
776
+ gridOptions?: Partial<CalcGridBackend.ConstructorOptions>;
777
+ /** The calculation the grids report their status and readiness through. */
778
+ calculation: ICalculation;
779
+ /** The external books the bindings mirror. */
780
+ books: IExternalBookCollection;
781
+ /** The replicas as the owner holds them when the start was asked for. */
782
+ replica?: Replica;
783
+ /** The model's current commit, mirrored first. */
784
+ modelCommitId?: string | null;
785
+ /** A plan-cache mode set before the backend existed. */
786
+ planCacheMode?: 'off' | 'assert' | 'on' | null;
787
+ }
788
+ interface State extends AbstractModel.State {
789
+ /** The model commit this engine commit mirrors; written by every mirror so the commit lands. */
790
+ mirrorOf?: string;
791
+ /**
792
+ * Top down evaluation and marking dirty.
793
+ * This is the only spatial map that is completely updated via api.
794
+ *
795
+ * @remarks
796
+ * For top down evaluation and marking formulas dirty.
797
+ */
798
+ formulaSpatial: ISpatialMap3D<FormulaSpatialValue>;
799
+ /**
800
+ * Tracks the inputs to formulas.
801
+ *
802
+ * @remarks
803
+ * * For bottom up marking dirty.
804
+ * * Contains a back-pointer to the formula.
805
+ *
806
+ */
807
+ precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>;
808
+ /**
809
+ * Tracks dynamic precedents by block.
810
+ * Used to remove old dynamic precedents when a block is re-evaluated and to add new ones after evaluation.
811
+ */
812
+ dynamicByBlock: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
813
+ /**
814
+ * Dirty regions
815
+ */
816
+ dirtySpatial: ISpatialMap3D;
817
+ /**
818
+ * 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.
819
+ */
820
+ isFullCalcRequired: boolean;
821
+ /**
822
+ * All registered grids.
823
+ */
824
+ gridsAll: Map<string, CalcGridBackend>;
825
+ /**
826
+ * The engine's replica of the model's sheet list (DESIGN-CALC-SERVICE §8): grid id to name, in
827
+ * tab order. What every symbol lookup, span and sheet-position function reads. Fed by the
828
+ * `sheets` message and by grid registration; versioned here so a revert restores it with the
829
+ * formulas that bound through it.
830
+ */
831
+ sheets: ReadonlyMap<string, string | null>;
832
+ /**
833
+ * The sheets in {@link sheets} that have no grid: chart, macro and dialog sheets. They count in
834
+ * tab order (`SHEETS`, `SHEET`, a span's members) and hold no cells.
835
+ */
836
+ gridless: ReadonlySet<string>;
837
+ /**
838
+ * The engine's replica of the model's tables (DESIGN-CALC-SERVICE §8): table id to its name and
839
+ * its columns' ids and names. What a structured reference binds and images through. Fed by the
840
+ * `tables` message, seeded at a start, versioned here as {@link sheets} is.
841
+ */
842
+ tables: ReadonlyMap<string, TableSymbols>;
843
+ /**
844
+ * The engine's replica of the defined names: name id to its spelling and the sheet it is scoped
845
+ * to. What a name binds and images through. Fed by the `names` message, as {@link tables} is.
846
+ */
847
+ names: ReadonlyMap<string, NameSymbols>;
848
+ /**
849
+ * Each grid's per-grid maps as of this snapshot (`CalcGridMaps`): values, contentful, spills,
850
+ * errors, pending, circular. Copy-on-write per request; handed back to the grid on a restore.
851
+ */
852
+ gridMaps: Map<string, object>;
853
+ }
854
+ }
855
+ //# sourceMappingURL=CalcBackend.d.ts.map