@sheetxl/sdk 0.7.28-beta.4 → 0.8.0-beta.10

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 (565) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{DBIu6NUHIcxOOBQp.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
  3. package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
  4. package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
  5. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
  6. package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
  7. package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
  8. package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
  9. package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
  10. package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
  11. package/browser/esm/{CHSahmMFYNB0Ajkf.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
  12. package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
  13. package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
  14. package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
  15. package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
  16. package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
  17. package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
  18. package/browser/esm/{CKk58ZLcrllMzfou.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
  19. package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
  20. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
  21. package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
  22. package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
  23. package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
  24. package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
  25. package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
  26. package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
  27. package/browser/esm/index.mjs +1472 -1023
  28. package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
  29. package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
  30. package/licenses/dependencies.txt +209 -209
  31. package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
  32. package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
  33. package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
  34. package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
  35. package/node/esm/{DUYP6faJJHCaW1Xf.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
  36. package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
  37. package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
  38. package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
  39. package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
  40. package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
  41. package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
  42. package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
  43. package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
  44. package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
  45. package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
  46. package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
  47. package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
  48. package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
  49. package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
  50. package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
  51. package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
  52. package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
  53. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
  54. package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
  55. package/node/esm/index.mjs +49153 -36824
  56. package/package.json +15 -16
  57. package/resources/contents.json +64 -0
  58. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  59. package/resources/fonts/arial-bold.metrics.json +139 -0
  60. package/resources/fonts/arial-italic.metrics.json +139 -0
  61. package/resources/fonts/arial-regular.metrics.json +139 -0
  62. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  63. package/resources/fonts/calibri-bold.metrics.json +137 -0
  64. package/resources/fonts/calibri-italic.metrics.json +137 -0
  65. package/resources/fonts/calibri-regular.metrics.json +137 -0
  66. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  67. package/resources/fonts/cambria-bold.metrics.json +66 -0
  68. package/resources/fonts/cambria-italic.metrics.json +66 -0
  69. package/resources/fonts/cambria-regular.metrics.json +66 -0
  70. package/resources/fonts/contents.json +126 -0
  71. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  72. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  73. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  74. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  75. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  76. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  77. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  78. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  79. package/resources/locales/de/model.msg.json +112 -12
  80. package/resources/locales/en/model.msg.json +119 -13
  81. package/types/scripting-api.json +8048 -0
  82. package/types/scripting-enums.json +277 -106
  83. package/types/scripting.d.ts +18126 -7971
  84. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  85. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  86. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  87. package/types/src/autoFill/AutoFill.d.ts +316 -32
  88. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  89. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
  90. package/types/src/border/index.d.ts +1 -1
  91. package/types/src/calculation/Calculation.d.ts +759 -49
  92. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  93. package/types/src/calculation/FormulaText.d.ts +82 -0
  94. package/types/src/calculation/ICalculation.d.ts +318 -81
  95. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  96. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  97. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  98. package/types/src/calculation/TokenType.d.ts +9 -0
  99. package/types/src/calculation/Types.d.ts +83 -2
  100. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  101. package/types/src/calculation/_TableRename.d.ts +13 -0
  102. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  103. package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
  104. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  105. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  106. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  107. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  108. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  109. package/types/src/calculation/compiler/Types.d.ts +79 -9
  110. package/types/src/calculation/executor/CalcExecutor.d.ts +422 -34
  111. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  112. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  113. package/types/src/calculation/formula/Formula.d.ts +58 -21
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
  115. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  116. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  118. package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
  119. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  121. package/types/src/calculation/formula/index.d.ts +1 -0
  122. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  123. package/types/src/calculation/functions/Operators.d.ts +8 -0
  124. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  125. package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
  126. package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
  127. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  128. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  129. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  130. package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
  131. package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
  132. package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
  133. package/types/src/calculation/grid/index.d.ts +4 -0
  134. package/types/src/calculation/index.d.ts +2 -0
  135. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  136. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  137. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  138. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  139. package/types/src/calculation/spatial/index.d.ts +1 -0
  140. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  141. package/types/src/calculation/state/CalcNode.d.ts +160 -29
  142. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  143. package/types/src/calculation/state/CalcState.d.ts +22 -1
  144. package/types/src/calculation/state/CalculationContext.d.ts +53 -4
  145. package/types/src/calculation/state/IContextContainer.d.ts +159 -26
  146. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  147. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  148. package/types/src/calculation/state/index.d.ts +1 -0
  149. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  150. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  151. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  152. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  153. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  154. package/types/src/calculation/symbol/index.d.ts +3 -2
  155. package/types/src/cell/ICell.d.ts +104 -29
  156. package/types/src/cell/ICellHeader.d.ts +24 -2
  157. package/types/src/cell/ICellProtection.d.ts +50 -10
  158. package/types/src/cellRange/ICellRange.d.ts +458 -97
  159. package/types/src/cellRange/ICellRanges.d.ts +23 -21
  160. package/types/src/chart/Chart.d.ts +41 -13
  161. package/types/src/chart/ChartCollection.d.ts +26 -0
  162. package/types/src/chart/IChart.d.ts +166 -12
  163. package/types/src/chart/IChartCollection.d.ts +25 -0
  164. package/types/src/chart/_ChartXml.d.ts +70 -0
  165. package/types/src/chart/index.d.ts +1 -3
  166. package/types/src/collections/ArraysGrid.d.ts +1 -1
  167. package/types/src/collections/IGrid.d.ts +1 -1
  168. package/types/src/collections/ISparseGrid.d.ts +9 -0
  169. package/types/src/collections/ISpatialMap.d.ts +59 -21
  170. package/types/src/collections/ImmutableList.d.ts +28 -0
  171. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  172. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  173. package/types/src/collections/RepeatingList.d.ts +7 -0
  174. package/types/src/collections/ScalarGrid.d.ts +50 -0
  175. package/types/src/collections/SparseGrid.d.ts +1 -1
  176. package/types/src/collections/SpatialMap.d.ts +13 -21
  177. package/types/src/collections/Tuple.d.ts +128 -16
  178. package/types/src/collections/_GridUtils.d.ts +19 -6
  179. package/types/src/collections/_RangeSweep.d.ts +97 -0
  180. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  181. package/types/src/collections/index.d.ts +1 -0
  182. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  183. package/types/src/comment/Comment.d.ts +223 -0
  184. package/types/src/comment/CommentCollection.d.ts +40 -0
  185. package/types/src/comment/IComment.d.ts +340 -50
  186. package/types/src/comment/ICommentCollection.d.ts +90 -0
  187. package/types/src/comment/NoteMovable.d.ts +26 -0
  188. package/types/src/comment/_CommentUtils.d.ts +50 -0
  189. package/types/src/comment/_NoteBox.d.ts +50 -0
  190. package/types/src/comment/index.d.ts +1 -0
  191. package/types/src/condition/AnchoredConditional.d.ts +82 -17
  192. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  193. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  194. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  195. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  196. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  197. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  198. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  199. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  200. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  201. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  202. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  203. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  204. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  205. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  206. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  207. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  208. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  209. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  210. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  211. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  212. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  213. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  214. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  215. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  216. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  217. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  218. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  219. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  220. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  221. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  222. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  223. package/types/src/condition/Condition.d.ts +19 -1
  224. package/types/src/condition/ICondition.d.ts +293 -73
  225. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  226. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  227. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  228. package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
  229. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  230. package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
  231. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  232. package/types/src/dataValidation/DataValidation.d.ts +69 -3
  233. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  234. package/types/src/dataValidation/IDataValidation.d.ts +149 -30
  235. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  236. package/types/src/date/DateUtils.d.ts +20 -0
  237. package/types/src/date/_DateUtils.d.ts +91 -7
  238. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  239. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  240. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  241. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  242. package/types/src/externalBook/index.d.ts +1 -0
  243. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  244. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  245. package/types/src/fill/IEffect.d.ts +5 -5
  246. package/types/src/fill/IFill.d.ts +123 -78
  247. package/types/src/fill/IStroke.d.ts +190 -64
  248. package/types/src/fill/RectAlignment.d.ts +20 -0
  249. package/types/src/fill/_Fills.d.ts +187 -0
  250. package/types/src/fill/_Stroke.d.ts +89 -0
  251. package/types/src/fill/index.d.ts +1 -0
  252. package/types/src/filter/IFilter.d.ts +188 -5
  253. package/types/src/font/AdvanceBuilder.d.ts +25 -0
  254. package/types/src/font/AdvanceTable.d.ts +114 -0
  255. package/types/src/font/FontCollection.d.ts +57 -0
  256. package/types/src/font/IFont.d.ts +17 -0
  257. package/types/src/font/IFontCollection.d.ts +120 -22
  258. package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
  259. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  260. package/types/src/font/index.d.ts +4 -1
  261. package/types/src/group/Group.d.ts +136 -0
  262. package/types/src/group/GroupMovableCollection.d.ts +37 -0
  263. package/types/src/group/IGroup.d.ts +129 -0
  264. package/types/src/group/index.d.ts +2 -0
  265. package/types/src/history/IHistory.d.ts +3 -2
  266. package/types/src/hyperlink/IHyperlink.d.ts +13 -0
  267. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  268. package/types/src/i18n/LanguagePack.d.ts +12 -4
  269. package/types/src/index.d.ts +5 -0
  270. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  271. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  272. package/types/src/io/EmbeddedPart.d.ts +20 -0
  273. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  274. package/types/src/io/IWorkbookIO.d.ts +185 -18
  275. package/types/src/io/WorkbookIO.d.ts +9 -0
  276. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  277. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  278. package/types/src/io/_XmlFragment.d.ts +49 -0
  279. package/types/src/io/index.d.ts +1 -0
  280. package/types/src/license/LicenseDetails.d.ts +1 -0
  281. package/types/src/license/LicenseManager.d.ts +4 -1
  282. package/types/src/license/Types.d.ts +38 -0
  283. package/types/src/license/_Utils.d.ts +22 -0
  284. package/types/src/license/details.d.ts +24 -0
  285. package/types/src/license/license-key.d.ts +49 -2
  286. package/types/src/license/runtime.browser.d.ts +41 -0
  287. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
  288. package/types/src/listener/IListener.d.ts +12 -7
  289. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  290. package/types/src/model/AbstractModel.d.ts +14 -5
  291. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  292. package/types/src/movable/CustomElement.d.ts +4 -5
  293. package/types/src/movable/ErrorContent.d.ts +49 -0
  294. package/types/src/movable/FormControl.d.ts +285 -0
  295. package/types/src/movable/GroupMember.d.ts +87 -0
  296. package/types/src/movable/ICustomElement.d.ts +7 -2
  297. package/types/src/movable/IErrorContent.d.ts +23 -0
  298. package/types/src/movable/IFormControl.d.ts +455 -0
  299. package/types/src/movable/IMovable.d.ts +378 -46
  300. package/types/src/movable/IMovableCollection.d.ts +63 -3
  301. package/types/src/movable/Movable.d.ts +149 -49
  302. package/types/src/movable/MovableCollection.d.ts +15 -8
  303. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  304. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  305. package/types/src/movable/_ContentFactory.d.ts +35 -0
  306. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  307. package/types/src/movable/_InsertableCollection.d.ts +28 -0
  308. package/types/src/movable/_MovableUtils.d.ts +5 -0
  309. package/types/src/movable/_PendingContent.d.ts +25 -0
  310. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  311. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  312. package/types/src/movable/index.d.ts +7 -1
  313. package/types/src/named/AbstractNamed.d.ts +1 -1
  314. package/types/src/named/INamed.d.ts +4 -1
  315. package/types/src/named/INamedCollection.d.ts +26 -0
  316. package/types/src/named/NamedCollection.d.ts +16 -15
  317. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  318. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  319. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  320. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  321. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  322. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  323. package/types/src/outline/IOutline.d.ts +186 -0
  324. package/types/src/outline/Outline.d.ts +157 -0
  325. package/types/src/outline/index.d.ts +2 -0
  326. package/types/src/person/IPerson.d.ts +99 -0
  327. package/types/src/person/IPersonCollection.d.ts +51 -0
  328. package/types/src/person/Person.d.ts +32 -0
  329. package/types/src/person/PersonCollection.d.ts +49 -0
  330. package/types/src/person/index.d.ts +4 -0
  331. package/types/src/picture/IPicture.d.ts +33 -3
  332. package/types/src/picture/Picture.d.ts +33 -13
  333. package/types/src/pivot/IPivotTable.d.ts +72 -0
  334. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  335. package/types/src/pivot/PivotCache.d.ts +34 -0
  336. package/types/src/pivot/PivotTable.d.ts +61 -0
  337. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  338. package/types/src/pivot/_PivotXml.d.ts +24 -0
  339. package/types/src/pivot/index.d.ts +6 -0
  340. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  341. package/types/src/primitives/Criteria.d.ts +1 -1
  342. package/types/src/primitives/Grouping.d.ts +65 -0
  343. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  344. package/types/src/primitives/PrimitiveUtils.d.ts +60 -21
  345. package/types/src/primitives/Range.d.ts +136 -26
  346. package/types/src/primitives/RangeStats.d.ts +30 -2
  347. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  348. package/types/src/primitives/Runtime.d.ts +15 -2
  349. package/types/src/primitives/environment.browser.d.ts +9 -0
  350. package/types/src/primitives/environment.node.d.ts +10 -0
  351. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  352. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  353. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  354. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  355. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  356. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  357. package/types/src/primitives/stats/index.d.ts +1 -0
  358. package/types/src/print/IPrint.d.ts +0 -22
  359. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  360. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  361. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  362. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  363. package/types/src/protection/DefaultProtection.d.ts +12 -1
  364. package/types/src/protection/IProtection.d.ts +36 -2
  365. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  366. package/types/src/reference/index.d.ts +2 -0
  367. package/types/src/resource/IResource.d.ts +21 -1
  368. package/types/src/resource/IResourceCollection.d.ts +9 -1
  369. package/types/src/resource/ResourceCollection.d.ts +6 -6
  370. package/types/src/scripting/FunctionArguments.d.ts +22 -0
  371. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  372. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  373. package/types/src/scripting/IModule.d.ts +25 -0
  374. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  375. package/types/src/scripting/IScript.d.ts +28 -26
  376. package/types/src/scripting/Module.d.ts +34 -6
  377. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  378. package/types/src/scripting/Runtime.d.ts +15 -0
  379. package/types/src/scripting/Scripts.d.ts +3 -7
  380. package/types/src/scripting/TypedFunction.d.ts +200 -4
  381. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  382. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  383. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  384. package/types/src/scripting/declarations.browser.d.ts +10 -0
  385. package/types/src/scripting/declarations.d.ts +49 -0
  386. package/types/src/scripting/declarations.node.d.ts +9 -0
  387. package/types/src/scripting/index.d.ts +3 -0
  388. package/types/src/selection/IMovableSelection.d.ts +148 -0
  389. package/types/src/selection/IRangeSelection.d.ts +9 -4
  390. package/types/src/selection/MovableSelection.d.ts +48 -0
  391. package/types/src/selection/RangeSelection.d.ts +15 -0
  392. package/types/src/selection/index.d.ts +1 -0
  393. package/types/src/shape/GeometryPreset.d.ts +197 -0
  394. package/types/src/shape/IGeometry.d.ts +380 -0
  395. package/types/src/shape/IShape.d.ts +341 -194
  396. package/types/src/shape/IShapeStyle.d.ts +135 -0
  397. package/types/src/shape/Shape.d.ts +107 -21
  398. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  399. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  400. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  401. package/types/src/shape/_Connectors.d.ts +108 -0
  402. package/types/src/shape/_Geometry.d.ts +14 -0
  403. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  404. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  405. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  406. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  407. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  408. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  409. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  410. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  411. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  412. package/types/src/shape/_builtIn/math.d.ts +6 -0
  413. package/types/src/shape/_builtIn/other.d.ts +6 -0
  414. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  415. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  416. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  417. package/types/src/shape/geometry/format.d.ts +3 -0
  418. package/types/src/shape/geometry/geometry.d.ts +85 -0
  419. package/types/src/shape/geometry/guides.d.ts +54 -0
  420. package/types/src/shape/geometry/handles.d.ts +14 -0
  421. package/types/src/shape/geometry/index.d.ts +7 -0
  422. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  423. package/types/src/shape/geometry/paths.d.ts +35 -0
  424. package/types/src/shape/geometry/segments.d.ts +114 -0
  425. package/types/src/shape/index.d.ts +3 -0
  426. package/types/src/sheet/CellRegion.d.ts +6 -0
  427. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  428. package/types/src/sheet/ISheet.d.ts +197 -50
  429. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  430. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  431. package/types/src/sheet/NamedRange.d.ts +8 -0
  432. package/types/src/sheet/Sheet.d.ts +923 -138
  433. package/types/src/sheet/SheetCell.d.ts +92 -32
  434. package/types/src/sheet/SheetCollection.d.ts +19 -8
  435. package/types/src/sheet/SheetRange.d.ts +92 -17
  436. package/types/src/sheet/SheetRanges.d.ts +22 -9
  437. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  438. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  439. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  440. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  441. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  442. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  443. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  444. package/types/src/sheet/_SheetAutoFitUtils.d.ts +28 -0
  445. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  446. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  447. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  448. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  449. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  450. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  451. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  452. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  453. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  454. package/types/src/sheet/spatial/index.d.ts +1 -0
  455. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  456. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  457. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  458. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  459. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  460. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  461. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  462. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  463. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  464. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  465. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  466. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  467. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  468. package/types/src/sheetView/ISheetView.d.ts +69 -15
  469. package/types/src/sheetView/SheetView.d.ts +20 -11
  470. package/types/src/slicer/ISlicer.d.ts +304 -17
  471. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  472. package/types/src/slicer/Slicer.d.ts +128 -13
  473. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  474. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  475. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  476. package/types/src/slicer/index.d.ts +1 -0
  477. package/types/src/sort/ISort.d.ts +4 -2
  478. package/types/src/string/IStringCollection.d.ts +5 -0
  479. package/types/src/string/StringCollection.d.ts +6 -6
  480. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  481. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  482. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  483. package/types/src/style/IStyleCollection.d.ts +91 -60
  484. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  485. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  486. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  487. package/types/src/style/StyleCollection.d.ts +81 -26
  488. package/types/src/style/TableStyleCollection.d.ts +49 -0
  489. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  490. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  491. package/types/src/style/index.d.ts +7 -1
  492. package/types/src/table/AnchoredTable.d.ts +701 -72
  493. package/types/src/table/AutoTable.d.ts +7 -5
  494. package/types/src/table/ITable.d.ts +261 -34
  495. package/types/src/table/ITableCollection.d.ts +12 -0
  496. package/types/src/table/ITableStyle.d.ts +37 -37
  497. package/types/src/table/TableCollection.d.ts +19 -8
  498. package/types/src/table/_FilterField.d.ts +19 -6
  499. package/types/src/table/_NamedTable.d.ts +17 -1
  500. package/types/src/table/_NamedTableSource.d.ts +1 -0
  501. package/types/src/table/_SortField.d.ts +2 -0
  502. package/types/src/table/_TableColumn.d.ts +13 -2
  503. package/types/src/table/_TableMessages.d.ts +1 -0
  504. package/types/src/table/_TableUtils.d.ts +40 -0
  505. package/types/src/text/Bullet.d.ts +4 -0
  506. package/types/src/text/IText.d.ts +182 -0
  507. package/types/src/text/ITextFrame.d.ts +110 -1
  508. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  509. package/types/src/text/TextFrame.d.ts +4 -0
  510. package/types/src/text/TextLine.d.ts +4 -0
  511. package/types/src/text/TextParagraph.d.ts +4 -0
  512. package/types/src/text/TextRotation.d.ts +3 -3
  513. package/types/src/text/TextRun.d.ts +9 -0
  514. package/types/src/text/TextStacked.d.ts +83 -0
  515. package/types/src/text/index.d.ts +1 -0
  516. package/types/src/text/richtext/IRichText.d.ts +36 -0
  517. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  518. package/types/src/text/richtext/index.d.ts +1 -0
  519. package/types/src/theme/ITheme.d.ts +45 -4
  520. package/types/src/theme/IThemeCollection.d.ts +2 -0
  521. package/types/src/theme/ThemeCollection.d.ts +11 -7
  522. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  523. package/types/src/transaction/ITransaction.d.ts +258 -45
  524. package/types/src/transaction/Transaction.d.ts +101 -11
  525. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  526. package/types/src/type/AbstractCollection.d.ts +101 -0
  527. package/types/src/type/ICollection.d.ts +117 -0
  528. package/types/src/type/ITypes.d.ts +9 -7
  529. package/types/src/type/index.d.ts +1 -0
  530. package/types/src/utils/_CSSUtils.d.ts +3 -3
  531. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  532. package/types/src/wasm/index.d.ts +2 -0
  533. package/types/src/wasm/sdkWasm.d.ts +29 -0
  534. package/types/src/workbook/IWorkbook.d.ts +180 -40
  535. package/types/src/workbook/Workbook.d.ts +123 -10
  536. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  537. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  538. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  539. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  540. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  541. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  542. package/browser/cjs/BF14ZEAnaqxXroSj.cjs +0 -1
  543. package/browser/cjs/BXtvdT1Z-MsB_o5F.cjs +0 -1
  544. package/browser/cjs/Bc4JjVVZfFo3R4He.cjs +0 -33
  545. package/browser/cjs/CD2RXdnfqSYNc6gX.cjs +0 -57
  546. package/browser/cjs/DcLpXGexEtOxi-dD.cjs +0 -1
  547. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  548. package/browser/cjs/index.cjs +0 -3
  549. package/browser/esm/0Mj5WKM362q6CECb.mjs +0 -824
  550. package/browser/esm/CPTtL2f6_4iblmFM.mjs +0 -4436
  551. package/browser/esm/CoA-sUxjiIUIpTUF.mjs +0 -109
  552. package/browser/esm/Dy4Sdpju1T2icURu.mjs +0 -50854
  553. package/node/esm/BtGxbEbBm79YvF_k.mjs +0 -843
  554. package/node/esm/DqgWsVXROpSgKq6c.mjs +0 -114
  555. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  556. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  557. package/types/src/dataValidation/_Utils.d.ts +0 -10
  558. package/types/src/lib/utils/_Utils.d.ts +0 -20
  559. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  560. package/types/src/movable/IGroup.d.ts +0 -30
  561. package/types/src/movable/IMovableSelection.d.ts +0 -49
  562. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  563. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  564. package/types/src/sheet/listener/index.d.ts +0 -3
  565. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -1,33 +1,59 @@
1
1
  import { Scalar, IRange, FormulaError } from '@sheetxl/primitives';
2
- import { ReferenceableClipboard } from '@sheetxl/utils';
2
+ import { RunCoords } from '@sheetxl/utils';
3
+ import { RangeStats } from '../../primitives/RangeStats';
3
4
  import { ITypes } from '../../type';
5
+ import { ITransaction } from '../../transaction';
4
6
  import { IListener } from '../../listener';
5
7
  import { IHistory } from '../../history';
6
- import { ISpatialQuery, ISpatialMap, ISparseGrid, Tuple } from '../../collections';
7
- import { IFormulaBlock } from '../formula';
8
+ import { ISpatialMap, ISpatialQuery, ISparseGrid, Tuple } from '../../collections';
9
+ import { IFormulaBlockView } from '../formula';
10
+ import { FormulaEntry } from './FormulaEntry';
8
11
  import { ContentfulSpatialValue, SpillEntry, CircularEntry } from '../spatial';
9
- import { ReferenceCoords, NamedReference } from '../Types';
12
+ import { NamedReference, NamedNodeInfo } from '../Types';
10
13
  import { ICalculation } from '../ICalculation';
11
14
  /**
12
- * The CalcGrid holds input and outputs of in a 2D space to a scope (usually a sheet).
15
+ * The CalcGridBackend holds input and outputs of in a 2D space to a scope (usually a sheet).
13
16
  *
14
17
  * @remarks
15
18
  * If inputValues are externally managed then formulas update must also be provided.
19
+ *
20
+ * Every mutation is ASYNCHRONOUS and resolves with an {@link ICalcGrid.Results}: the blocks the
21
+ * engine compiled or re-imaged for the write ({@link ICalcGrid.Results.formulaInserts}) and the
22
+ * coords it removed ({@link ICalcGrid.Results.formulaRemoves}). Nothing about the grid is readable
23
+ * synchronously after a write; a caller keeps its own formula text and patches it from the
24
+ * resolution. A request names the snapshot it was made at ({@link ICalcGrid.RequestOptions.commitId})
25
+ * and the resolution echoes it ({@link ICalcGrid.Results.commitId}): its coords mean addresses in
26
+ * THAT snapshot, whatever the caller has done since. A rewrite the engine makes to a grid nobody
27
+ * called - a cross-sheet reference turned `#REF!` by a delete on another sheet - reaches that grid
28
+ * through its own `onCalculated`, the way values do, naming the last snapshot the engine applied.
29
+ *
30
+ * Every request goes through the service's channel (DESIGN-CALC-SERVICE §4, §7.2). On a `Running`
31
+ * engine it is applied at once; while the engine is `Starting` it is held, as data, and applied
32
+ * in send order once the engine is up, behind the seed the grid was opened from; on an `Off`
33
+ * engine it is not recorded at all and resolves with nothing: the caller's own view is the truth
34
+ * there, and a later start is seeded from it. An `Off` engine is never started by a request.
16
35
  */
17
36
  export interface ICalcGrid {
18
37
  /**
19
38
  * Set a group of cells and formula ranges.
20
39
  *
21
- * @param values A set of input values as BoundedTuples
40
+ * @param values A set of input values as Region
22
41
  * @param ranges A set of formula strings as ranged entries.
42
+ * @param options See {@link ICalcGrid.SetInputsOptions}.
43
+ *
44
+ * @returns Resolves with the blocks compiled for the written formulas, the remainders of any
45
+ * block a value split, and the coords cleared.
23
46
  */
24
- setInputs(values: Tuple.BoundedTuples<Scalar> | null, formulas: readonly ISpatialMap.Entry<string>[] | null): IRange.Coords[];
47
+ setInputs(values: Tuple.Region<Scalar> | null, formulas: readonly ISpatialMap.Entry<string>[] | null, options?: ICalcGrid.SetInputsOptions): Promise<ICalcGrid.Results>;
25
48
  /**
26
49
  * Remove all values within a range.
27
50
  *
28
51
  * @param coords The coordinates to remove.
52
+ * @param options See {@link ICalcGrid.RemoveOptions}.
53
+ *
54
+ * @returns Resolves with the coords cleared and the remainders of any block the range split.
29
55
  */
30
- remove(coords: IRange.Coords): IRange.Coords[];
56
+ remove(coords: IRange.Coords, options?: ICalcGrid.RemoveOptions): Promise<ICalcGrid.Results>;
31
57
  /**
32
58
  * Execute a calculate on a single grid.
33
59
  *
@@ -49,107 +75,188 @@ export interface ICalcGrid {
49
75
  */
50
76
  markDirtyRegions(coords: IRange.Coords[]): void;
51
77
  /**
52
- * Returns true if there are any dirty regions that need to be calculated.
78
+ * The key of this grid's record in the model's store (DESIGN-CALC-SERVICE §13.23): what the
79
+ * grid holds, versioned beside the sheet's own record so that an undo restores both together.
80
+ *
81
+ * @remarks
82
+ * For a cell buffer to name among the records its held writes go to, so that a read of the
83
+ * grid through the store makes those writes first. The reads themselves take the transaction
84
+ * to answer for; nothing reads the record by this key.
53
85
  */
54
- getDirtyRegions(): ISpatialQuery;
86
+ getStateId(): string;
55
87
  /**
56
- * Returns the formula block at the given coordinates.
88
+ * The values as the model holds them: the literals it entered and the answers the engine
89
+ * vended, one map (DESIGN-CALC-SERVICE §13.24).
57
90
  *
58
- * @param row The row of the cell to evaluate.
59
- * @param column The column of the cell to evaluate.
91
+ * @remarks
92
+ * The whole grid, not a narrowed read surface: the sheet reads values on its hottest paths and
93
+ * sparse grids are heading for buffer-backed runs, which closes the boundary a narrower type
94
+ * would have bought. Answered from the grid's own store record - never the backend's working
95
+ * copy, which is on the far side of the boundary and can be behind.
96
+ * @param transaction Read the record as this transaction sees it, its held writes not yet
97
+ * made; the current record when omitted.
60
98
  */
61
- getFormulaBlockAt(row: number, column: number): IFormulaBlock | null;
99
+ getValues(transaction?: ITransaction | null): ISparseGrid<Scalar>;
62
100
  /**
63
- * Returns a queryable spatial index of all formulas in the graph.
64
- *
65
- * @remark
66
- * Used by sheet
101
+ * The contentful index: which cells hold a value, summarized per run. Derived from
102
+ * {@link getValues} and kept in step with it.
103
+ * @param transaction Read the record as this transaction sees it, its held writes not yet
104
+ * made; the current record when omitted.
105
+ */
106
+ getContentful(transaction?: ITransaction | null): ISpatialMap<ContentfulSpatialValue>;
107
+ /**
108
+ * The array extents: where an array-entered or dynamic formula occupies more than its anchor.
109
+ * @param transaction Read the record as this transaction sees it, its held writes not yet
110
+ * made; the current record when omitted.
111
+ */
112
+ getSpills(transaction?: ITransaction | null): ISpatialMap<SpillEntry>;
113
+ /**
114
+ * The cells the engine has not answered for yet - an async function in flight, a pass still
115
+ * running.
116
+ * @param transaction Read the record as this transaction sees it, its held writes not yet
117
+ * made; the current record when omitted.
118
+ */
119
+ getPending(transaction?: ITransaction | null): ISpatialMap<boolean>;
120
+ /**
121
+ * Engine FAILURES by cell (a formula that could not be evaluated), as a message. Not error
122
+ * VALUES - those are {@link getErrorValues}.
123
+ * @param transaction Read the record as this transaction sees it, its held writes not yet
124
+ * made; the current record when omitted.
125
+ */
126
+ getCalcErrors(transaction?: ITransaction | null): ISpatialMap<string>;
127
+ /**
128
+ * Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
129
+ * @param transaction Read the record as this transaction sees it, its held writes not yet
130
+ * made; the current record when omitted.
67
131
  */
68
- getFormulas(): ISpatialQuery<IFormulaBlock>;
132
+ getCirculars(transaction?: ITransaction | null): ISpatialMap<CircularEntry>;
69
133
  /**
70
- * Returns a queryable spatial index of the ARRAY EXTENTS on this grid — one entry per array
71
- * formula, keyed by the cells it occupies: a dynamic array's spill, a legacy CSE block, or the
72
- * single cell a blocked spill collapses to.
134
+ * Error VALUES (`#DIV/0!`, `#N/A`, ...) by cell: the `Error` scalar kind, entered or computed.
135
+ * Deliberately not per-type - an entry means "an error value lives here".
73
136
  *
74
- * @remark
75
- * The same index a calculation pass writes through {@link ICalcGrid.IncrementalUpdates.spillSpatial}
76
- * (`beginUpdates` hands out this very map), so a read answers identically inside and outside a
77
- * pass — which is what lets a formula evaluated OUTSIDE one resolve a spill anchor.
137
+ * @remarks
138
+ * The reconciled view. The index the write path maintains is fresh for what the model entered
139
+ * and stale for formula cells (the executor does not emit error deltas yet), so this
140
+ * reconciles it against the values and caches the result until the values change again. It
141
+ * collapses into a plain read once the executor emits those deltas.
78
142
  */
79
- getSpills(): ISpatialQuery<SpillEntry>;
143
+ getErrorValues(): ISpatialMap<boolean>;
80
144
  /**
81
- * Returns the current values on the grid.
145
+ * The volatile regions the file listed: what an `Off` save writes back and a seed carries,
146
+ * kept where a formula still sits under them. What the engine knows once it is up it answers
147
+ * itself ({@link isVolatileAt}); this list is not shifted by a structural change.
82
148
  */
83
- getValues(): ISparseGrid<Scalar>;
149
+ getVolatileRegions(): IRange.Address[] | null;
84
150
  /**
85
- * Shifts all values in the graph in a given direction.
151
+ * The statistics cache over {@link getValues}, for the aggregate reads.
86
152
  *
87
- * @param options The options for the shift.
153
+ * @remarks
154
+ * Here because it caches against the value grid INSTANCE, and the instance changes whenever a
155
+ * write or a vend clones the map - which is the grid's business, not its reader's.
88
156
  */
89
- shift(options: ICalcGrid.ShiftOptions): this;
157
+ getRangeStats(): RangeStats;
90
158
  /**
91
- * Returns a snapshot of the graph that can be used for copying.
159
+ * The formula at a cell, as the model holds it: its text the moment it is written, the
160
+ * compiled block's view once the engine has vended one. `null` where there is none.
92
161
  */
93
- getSnapshot(options?: ICalcGrid.GetSnapshotOptions): ICalcGrid.ISnapshot;
162
+ getFormulaAt(row: number, column: number): FormulaEntry | null;
94
163
  /**
95
- * Autofill the values from a single cell to the entire range.
164
+ * The formulas as the model holds them, one entry per run, as a read-only spatial query: the
165
+ * text the moment it is written, the compiled block's view once the engine has vended one.
166
+ *
167
+ * @param commitId A commit to answer for, in place of the current state. `null` when the store
168
+ * no longer has it on its live history (undone, rolled back, pruned) or this grid did not exist
169
+ * at it.
96
170
  *
97
171
  * @remarks
98
- * This is similar to getSnapshot but doesn't return a promise.
172
+ * The current map. A past snapshot's is read from the store, at the commit, under
173
+ * {@link getStateId}.
174
+ * @param transaction Read the record as this transaction sees it, its held writes not yet
175
+ * made; the current record when omitted.
99
176
  */
100
- autoFill(template: IRange.Coords | string, destination: IRange.Coords | string): this;
177
+ getFormulas(transaction?: ITransaction | null): ISpatialQuery<FormulaEntry>;
101
178
  /**
102
- * Returns the dependents for a specific range.
179
+ * Shifts all values in the graph in a given direction.
103
180
  *
104
- * @param coords The coordinates of the range.
181
+ * @param options The options for the shift.
105
182
  *
106
183
  * @remarks
107
- * A range a formula resolved at run time — `INDIRECT`, `OFFSET` — is reported like any other,
108
- * with the caveat under {@link getDirectPrecedentsAt}.
184
+ * Shifts THIS grid in place; a caller that versions the grid clones it first.
185
+ *
186
+ * @returns Resolves with the blocks re-imaged by the shift (references across the boundary,
187
+ * `#REF!`, split pieces) at their new coords, and the coords vacated.
109
188
  */
110
- getDirectDependentsAt(coords: IRange.Coords): IRange.Coords[];
189
+ shift(options: ICalcGrid.ShiftOptions): Promise<ICalcGrid.Results>;
111
190
  /**
112
- * Returns the precedents for a specific range.
191
+ * The model has restored itself to a snapshot (an undo, a redo): the engine restores its own
192
+ * history to the same id (design §13.13).
113
193
  *
114
- * @param coords The coordinates of the range.
194
+ * @param options The snapshot restored to.
115
195
  *
116
196
  * @remarks
117
- * A range a formula resolved at run time — `INDIRECT`, `OFFSET` — is reported like any other,
118
- * but it is not the same KIND of fact and should not be cached as one. A written reference is a
119
- * property of the formula's text: true before anything calculates, and unchanged until the text
120
- * changes. A resolved one is a record of the last calculation, so it moves when the formula's own
121
- * inputs move (`INDIRECT(B1&"!A1")` names a different sheet once `B1` does), and it is absent
122
- * entirely for a block that has not been calculated yet.
197
+ * A response to a request that the restore undid is dropped, so the entries the restore put
198
+ * back have no block until the engine says what it holds for them. The engine knows what
199
+ * changed between the two snapshots from what its commits recorded.
123
200
  *
124
- * Its bounds are also the union of everything the block read, which for a scattered read is wider
125
- * than the cells actually touched. Deliberately: over-reporting costs a caller a check that comes
126
- * back clean, where under-reporting hands it an incomplete answer that looks complete.
201
+ * @returns Resolves with the blocks over the changed cells, at the coords they have in the
202
+ * restored snapshot, and those coords as removes: the view re-adopts exactly what the engine
203
+ * holds there.
204
+ */
205
+ revert(options: ICalcGrid.RevertOptions): Promise<ICalcGrid.Results>;
206
+ /**
207
+ * Returns a snapshot of the graph that can be used for copying.
127
208
  */
128
- getDirectPrecedentsAt(coords: IRange.Coords): IRange.Coords[];
209
+ getSnapshot(options?: ICalcGrid.GetSnapshotOptions): ICalcGrid.ISnapshot;
129
210
  /**
130
- * Returns all ranges recursively, including those that depend on it indirectly
131
- * through the full calculation chain.
211
+ * Autofill the values from a single cell to the entire range.
132
212
  *
133
213
  * @remarks
134
- * This performs a recursive search downstream to find the total impact of a value change.
214
+ * Fills THIS grid in place; a caller that versions the grid clones it first.
215
+ *
216
+ * @param options See {@link ICalcGrid.RequestOptions}.
217
+ *
218
+ * @returns Resolves with the blocks minted over the destination.
135
219
  */
136
- getDependentsAt(coords: IRange.Coords): IRange.Coords[];
220
+ autoFill(template: IRange.Coords | string, destination: IRange.Coords | string, options?: ICalcGrid.RequestOptions): Promise<ICalcGrid.Results>;
137
221
  /**
138
- * Returns all precedents recursively, including those referenced indirectly
139
- * through the full calculation chain.
222
+ * Everything `coords` depends on, or that depends on it - cells AND names, in ONE call.
223
+ *
224
+ * @param coords The range to answer for, scoped in calc currency (a sheet's stableId, or bare
225
+ * for this grid).
226
+ * @param kind Which direction to walk.
227
+ * @param direct `true` for one hop, `false` for the full recursive closure.
140
228
  *
141
229
  * @remarks
142
- * This performs a recursive search upstream to find all root data sources.
230
+ * The graph question belongs here whole. Composed by a caller it was two calls plus the
231
+ * knowledge of which of the four walks pairs with which name half - calculation reasoning that
232
+ * had leaked into the model layer.
233
+ *
234
+ * The two halves are found differently, which is the reason they are not one list. A PRECEDENT
235
+ * name is one the queried formulas MENTION (apply-at-eval leaves no cell edge for it). A
236
+ * DEPENDENT name is one whose virtual grid a walk result LANDED in - that name's body reading
237
+ * these cells - and it is reported only while the name is live.
238
+ *
239
+ * `cells` stay in calc currency; converting their scope to something addressable is the model's
240
+ * job, as is turning ids into range objects.
143
241
  */
144
- getPrecedentsAt(coords: IRange.Coords): IRange.Coords[];
242
+ getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
145
243
  /**
146
- * Returns the absolute direct precedents for a formula.
244
+ * Evaluates the formula at a cell and returns its finalized value.
147
245
  *
148
246
  * @param row The row of the cell to evaluate.
149
247
  * @param column The column of the cell to evaluate.
150
- * @throws Error if there is not a formula at the coordinates.
248
+ * @param options An eval index, or {@link ICalculation.EvaluateOptions}.
249
+ *
250
+ * @remarks
251
+ * The engine side of `IFormula.evaluate()`. Evaluating needs the calc scope, which only the
252
+ * engine has - so it lives on this surface rather than on the block a caller is holding, and
253
+ * is `async` for the same reason `IFormula.evaluate()` always was.
254
+ *
255
+ * Resolves to `null` when no formula is at the cell. The block is resolved HERE rather than
256
+ * captured by the caller: the engine re-mints a block on every rewrite, so a captured
257
+ * instance can be a snapshot of the formula as it was.
151
258
  */
152
- getReferencesAt(row: number, column: number): ReferenceCoords[];
259
+ evaluateAt(row: number, column: number, options?: number | ICalculation.EvaluateOptions): Promise<Scalar | IRange>;
153
260
  /**
154
261
  * Sets the reference to an absolute range at a specific cell coordinate.
155
262
  *
@@ -161,27 +268,36 @@ export interface ICalcGrid {
161
268
  * {@link IFormulaBlock.setReferenceAt}.
162
269
  * @throws Error if the cell is not a formula.
163
270
  */
164
- setReferenceAt(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref): this;
271
+ setReferenceAt(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref): Promise<IFormulaBlockView | null>;
165
272
  /**
166
- * Return true if the cell at row column is volatile.
273
+ * Cycles the absolute/relative (`$`) style of the reference at `index` - F4.
167
274
  *
168
- * @param row The row of the cell to evaluate.
169
- * @param column The column of the cell to evaluate.
275
+ * @param row The row of the cell holding the formula.
276
+ * @param column The column of the cell holding the formula.
277
+ * @param index The index of the reference to cycle (aligned to the formula's references,
278
+ * `IFormulaBlockView.getReferencesAt`).
279
+ * @param side Which corner of a range to cycle; `'self'` for a standalone cell.
280
+ * @param mode An explicit mode, or `undefined` to advance one step in the F4 order.
281
+ * @throws Error if there is no CELL reference at `index` (a named reference has no `$` style).
170
282
  *
171
283
  * @remarks
172
- *
173
- * This is not used internally but is provided to allow api to query.
284
+ * Read-cycle-write in ONE call. Composed on the client it is three round trips per keypress
285
+ * (the reference, then the write, then reading the result back), which is the wrong shape
286
+ * for a proxied engine.
174
287
  */
175
- isVolatileAt(row: number, column: number): boolean;
288
+ setReferenceModeAt(row: number, column: number, index: number, side?: ICalculation.ReferenceSide, mode?: number): Promise<IFormulaBlockView | null>;
176
289
  /**
177
- * Returns a copy on write clone.
290
+ * Whether the formula at the cell is volatile: found by the engine as it evaluates, so a
291
+ * question answered in order behind the writes sent before it.
178
292
  *
179
- * @param cloneKey A performance optimization that will avoid cloning if the same key is used.
293
+ * @param row The row of the cell to evaluate.
294
+ * @param column The column of the cell to evaluate.
180
295
  *
181
296
  * @remarks
182
- * If the same clone key is used then the same instance will be returned.
297
+ *
298
+ * This is not used internally but is provided to allow api to query.
183
299
  */
184
- clone(cloneKey?: any): this;
300
+ isVolatileAt(row: number, column: number): Promise<boolean>;
185
301
  /**
186
302
  * Add Listeners to graph.
187
303
  */
@@ -191,26 +307,58 @@ export interface ICalcGrid {
191
307
  */
192
308
  getEntireCoords(): IRange.Coords;
193
309
  /**
194
- * Returns the bounding range for the content.
310
+ * Sets the grid's size: what {@link getEntireCoords} answers from now on. Recorded with the
311
+ * grid's other content, in the caller's operation, and told to the engine in order with the
312
+ * grid's writes, so an undo restores the old size in both. The size a grid opens with is its
313
+ * seed's ({@link ICalcGrid.JSON.entireCoords}).
314
+ *
315
+ * @param entireCoords The grid's new size.
316
+ * @param options See {@link ICalcGrid.RequestOptions}.
317
+ */
318
+ resize(entireCoords: IRange.Coords, options?: ICalcGrid.RequestOptions): void;
319
+ /**
320
+ * Sets the rows or columns the grid's owner hides: the whole set on that axis, replacing the
321
+ * one before. Recorded with the grid's other content, in the caller's operation, and told to the
322
+ * engine in order with the grid's writes; every formula that calls `SUBTOTAL` or `AGGREGATE`
323
+ * recalculates. The set a grid opens with is its seed's ({@link ICalcGrid.JSON.hiddenRows}).
324
+ *
325
+ * @param axis The axis the runs are on.
326
+ * @param runs Every hidden run on that axis, ascending and disjoint; empty for none.
327
+ * @param options See {@link ICalcGrid.RequestOptions}.
328
+ */
329
+ setHidden(axis: IRange.Axis, runs: readonly RunCoords[], options?: ICalcGrid.RequestOptions): void;
330
+ /**
331
+ * Sets whether the grid's owner is filtered: some AutoFilter or table on it holds a condition.
332
+ * Recorded and told as {@link setHidden} is; every formula that calls `SUBTOTAL` or `AGGREGATE`
333
+ * recalculates. The state a grid opens with is its seed's ({@link ICalcGrid.JSON.filtered}).
195
334
  *
196
335
  * @remarks
197
- * This includes values and formulas.
336
+ * `SUBTOTAL` 1-11 skip the owner's hidden rows only while this is set; 101-111 skip them always.
337
+ * A hidden row is one thing whoever hid it, so this is the whole of what a filter adds.
198
338
  *
199
- * @returns `null` if the grid has no content.
339
+ * @param filtered `true` while a condition is held.
340
+ * @param options See {@link ICalcGrid.RequestOptions}.
200
341
  */
201
- getBoundingRange(): IRange.Coords | null;
342
+ setFiltered(filtered: boolean, options?: ICalcGrid.RequestOptions): void;
202
343
  /**
203
- * Loads the json into the graph.
344
+ * Opens the grid from a seed: a statement of its whole content (DESIGN-CALC-SERVICE §6).
204
345
  *
205
- * @param json The JSON to load.
206
- * @param options {@link ICalcGrid.FromJSONOptions}
346
+ * @param json The content, the same record a save writes.
347
+ * @param options {@link ICalcGrid.SeedOptions}
207
348
  *
208
349
  * @remarks
209
- * This will clear all values and formulas including any pending changes or invalidation.
350
+ * Replaces everything the grid held, so opening twice equals opening once. A seed is a request
351
+ * like any other: applied at once on a `Running` engine, held in order while the engine is
352
+ * `Starting`, not recorded on an `Off` one (the owner keeps the content and hands it over again
353
+ * when the service is started). Its results are a full pass's - `isFull`, every block it
354
+ * compiled and every array extent it read - and reach the owner through `onCalculated` as it is
355
+ * applied, in order with every other record the grid pushes; the promise resolves after that.
210
356
  *
211
- * @returns `undefined` when the calculation is not ready (the load is deferred until start).
357
+ * A seed trusts the values it carries as a load does. One handed over at `start()` by an owner
358
+ * the engine has not been following - a sheet written to while `Off` - asks for a full pass
359
+ * instead ({@link ICalcGrid.SeedOptions.full}).
212
360
  */
213
- fromJSON(json: ICalcGrid.JSON, options?: ICalcGrid.FromJSONOptions): ICalcGrid.Results | undefined;
361
+ seed(json: ICalcGrid.JSON, options?: ICalcGrid.SeedOptions): Promise<ICalcGrid.Results>;
214
362
  /**
215
363
  * Returns a JSON representation of the calcGrid.
216
364
  *
@@ -224,16 +372,18 @@ export interface ICalcGrid {
224
372
  */
225
373
  getId(): string;
226
374
  /**
227
- * Returns a record for new incremental updates.
375
+ * Remove the grid from the calculation: every formula that read it reads `#REF!`.
228
376
  *
229
- * @remarks
230
- * This will create a new record for tracking incremental updates.
377
+ * @param options See {@link ICalcGrid.RequestOptions}; the removal lands under the snapshot
378
+ * named, and a revert to before it registers the grid again.
231
379
  */
232
- beginUpdates(): ICalcGrid.IncrementalUpdates;
380
+ delete(options?: ICalcGrid.RequestOptions): void;
233
381
  /**
234
- * Remove the grid from the calculation.
382
+ * Release the grid: its owner is done with it. The engine takes it out of the graph and every
383
+ * formula that read it computes `#REF!` on its next evaluation. Not undoable - {@link delete} is
384
+ * the removal an undo brings back.
235
385
  */
236
- delete(): void;
386
+ close(): void;
237
387
  }
238
388
  /**
239
389
  * {@inheritDoc ICalcGrid}
@@ -244,7 +394,83 @@ export interface ICalcGrid {
244
394
  * {@link ICalcGrid}
245
395
  */
246
396
  export declare namespace ICalcGrid {
397
+ /**
398
+ * What the model's grid forwards to (DESIGN-CALC-SERVICE §13.23): every verb and every read
399
+ * the engine answers, and nothing the model holds for itself. The in-process engine grid is
400
+ * one; a message-passing proxy under a worker is another.
401
+ */
402
+ type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getPending' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getVolatileRegions' | 'getRangeStats'> & {
403
+ /** Write a body as authored; the engine anchors it (see {@link ICalcGrid.BodyOptions}). */
404
+ setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
405
+ /** {@link ICalcGrid.evaluateAt} coerced to one scalar, as a defined name's `evaluate()` is. */
406
+ evaluateScalarAt(row: number, column: number, evalIndex?: number): Promise<Scalar>;
407
+ /** Owe a pass seeded from this grid, run once the current flush is over. */
408
+ requestPass(): void;
409
+ /**
410
+ * The graph around the defined name whose body this grid holds - its precedents or
411
+ * dependents, cells in calc currency and names - as {@link ICalcGrid.getGraphNeighborsAt}
412
+ * answers for cells.
413
+ */
414
+ getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
415
+ };
416
+ /**
417
+ * A body written as it was authored, for a grid that holds one (a name's, a watch's): the engine
418
+ * compiles it where it was authored, binds every bare reference to `scopeGridId`, and writes it
419
+ * over `coords` imaged at their top-left.
420
+ */
421
+ interface BodyOptions {
422
+ /** Where the body goes: the block's extent. */
423
+ coords: IRange.Coords;
424
+ /** The expression as authored. */
425
+ expression: string;
426
+ /** The cell the expression was authored at; relative references are offsets from here. */
427
+ authoredAt: IRange.CellCoords;
428
+ /** The sheet grid a bare reference in the expression resolves against. */
429
+ scopeGridId: string;
430
+ /** Re-derive the formulas that mention this grid's name once the body is in: a defined name's. */
431
+ recompile?: boolean;
432
+ /**
433
+ * Applied ahead of the other requests a start holds: a defined name must be bound before any
434
+ * formula that mentions it is examined.
435
+ */
436
+ priority?: boolean;
437
+ }
438
+ /**
439
+ * What {@link ICalcGrid.getGraphNeighborsAt} answers: the two halves of a graph neighborhood,
440
+ * both in currency that crosses a wire.
441
+ */
442
+ interface GraphNeighbors {
443
+ /** Neighbor ranges, scoped by GRID (a sheet's stableId), or unscoped for the queried grid. */
444
+ cells: IRange.Coords[];
445
+ /** The named formulas in the neighborhood, as plain data ready to become range objects. */
446
+ names: NamedNodeInfo[];
447
+ }
448
+ /**
449
+ * A cell's format on entry when its formula reads cells (see {@link Results.formatInserts}).
450
+ *
451
+ * @remarks
452
+ * Excel ranks the cell a formula reads ahead of a function's format - `=A1+TODAY()` shows what
453
+ * `A1` does - and falls back to the function's only when no reference carries one.
454
+ */
455
+ interface InheritedFormat {
456
+ /**
457
+ * The references the formula reads as values, in text order, relative to the entry's own
458
+ * top-left: offsets on a relative axis, a position on a fixed one. A range stands for its
459
+ * top-left cell. The first whose cell's format is not General is the cell's.
460
+ */
461
+ references: IRange.FixableCoords[];
462
+ /** The format the formula's functions supplied, for when none of the references carries one. */
463
+ fallback: string | null;
464
+ }
465
+ /** What a {@link Results.formatInserts} entry carries: a function's format, or what to inherit. */
466
+ type FormatInsert = string | InheritedFormat;
247
467
  interface Results {
468
+ /**
469
+ * The snapshot this record answers for: the {@link RequestOptions.commitId} of the request,
470
+ * or, for a record the engine pushed (a calculation pass), the last commit the engine
471
+ * applied. The formula coords below are addresses in that snapshot.
472
+ */
473
+ commitId?: string;
248
474
  /**
249
475
  * The id of the calculation that was completed.
250
476
  *
@@ -268,12 +494,12 @@ export declare namespace ICalcGrid {
268
494
  */
269
495
  bounds?: IRange.Coords | null;
270
496
  /**
271
- * The results of the calculation will either be as `Map` or as a `Tuple.BoundedTuples`.
497
+ * The results of the calculation will either be as `Map` or as a `Tuple.Region`.
272
498
  *
273
499
  * @see
274
500
  * {@link CalculateOptions.asTuples}
275
501
  */
276
- valueInserts?: Tuple.BoundedTuples<Scalar>;
502
+ valueInserts?: Tuple.Region<Scalar>;
277
503
  /**
278
504
  * Values that have been cleared.
279
505
  */
@@ -288,12 +514,16 @@ export declare namespace ICalcGrid {
288
514
  */
289
515
  spillRemoves?: ISpatialMap.Entry[];
290
516
  /**
291
- * Formatting updates due to functions.
517
+ * The number format each realized formula cell takes on entry: a format its functions
518
+ * supplied (`=TODAY()` a date), or the references it inherits one from.
292
519
  *
293
520
  * @remarks
294
- * Formats are not cleared.
521
+ * One value per cell, the executor's pick: an {@link InheritedFormat} when the formula has
522
+ * references that are value operands (`IFormulaBlock.getFormatReferences`), else the
523
+ * function's string, else nothing. Which format the references carry, and as of when, is the
524
+ * reader's to resolve. Formats are not cleared.
295
525
  */
296
- formatInserts?: ISpatialMap.Entry<string>[];
526
+ formatInserts?: ISpatialMap.Entry<ICalcGrid.FormatInsert>[];
297
527
  /**
298
528
  * Contains any errors that were inserted.
299
529
  */
@@ -319,6 +549,40 @@ export declare namespace ICalcGrid {
319
549
  * These are guaranteed to not overlap.
320
550
  */
321
551
  circularUpdates?: ISpatialMap.Entry<CircularEntry | null>[];
552
+ /**
553
+ * Blocks the engine compiled or re-imaged, at the coords they cover, as the read views the
554
+ * model holds: the vend of the formula half. Every site that mints a block reports it here -
555
+ * a write, a value splitting a block, a shift, a cross-sheet `#REF!`, a copy, a fill, a
556
+ * reference edit, the legacy `@` wrap on load.
557
+ *
558
+ * @remarks
559
+ * Applied in order after {@link formulaRemoves}. On {@link isFull} every block on the grid is
560
+ * listed, so a caller that dropped its blocks on the full pass has them all back. What
561
+ * crosses is the block as data; the view is imaged from it on the model's side of the
562
+ * channel, against the model's own symbols (DESIGN-CALC-SERVICE §8).
563
+ */
564
+ formulaInserts?: ISpatialMap.Entry<IFormulaBlockView>[];
565
+ /**
566
+ * Coords whose formulas the engine removed: cleared, replaced, or moved away by a shift.
567
+ */
568
+ formulaRemoves?: IRange.Coords[];
569
+ /**
570
+ * For a grid that holds one body (a watch's, a name's): the body's blank region as the pass
571
+ * left it, `null` when nothing is shared. Absent from a sheet's grid.
572
+ */
573
+ blankRegion?: ICalcGrid.BlankRegion | null;
574
+ }
575
+ /**
576
+ * The cells of a body that a pass shares one answer for rather than writing, and that answer:
577
+ * what every such cell reads as.
578
+ */
579
+ interface BlankRegion {
580
+ /** The shared answer. */
581
+ readonly value: Scalar | undefined;
582
+ /** The rectangles it covers, in the grid's coordinates. */
583
+ readonly rects: readonly IRange.Coords[];
584
+ /** The body's extent: a read wider than it shares nothing. */
585
+ readonly extent: IRange.Coords;
322
586
  }
323
587
  /**
324
588
  * Returns from `ICalcGrid.beginUpdates()`.
@@ -335,6 +599,18 @@ export declare namespace ICalcGrid {
335
599
  circularSpatial: ISpatialMap<CircularEntry>;
336
600
  contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
337
601
  notifyValues: ISpatialMap;
602
+ /**
603
+ * Reports a region whose answer changed without a write to the grid: a blank region the pass
604
+ * shares one answer for on the block instead of writing (PLAN-WATCHES-BLANK-AWARE §4c).
605
+ *
606
+ * @remarks
607
+ * Accumulated as bounds, not as a region index. Only `Results.bounds` learns of this - there
608
+ * are no values to vend - and that is one rectangle over every notify source, so the union is
609
+ * the whole of what a caller can observe.
610
+ *
611
+ * `coords` is read, never kept, and its scope is ignored.
612
+ */
613
+ notifyBlank(coords: IRange.Coords): void;
338
614
  notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
339
615
  notifySpillsRemove: IRange.Coords[];
340
616
  notifyFormats: ISpatialMap;
@@ -344,7 +620,7 @@ export declare namespace ICalcGrid {
344
620
  circularConflating: ISpatialMap.IConflatingEntries<CircularEntry | false> | null;
345
621
  errorRemovesConflating: ISpatialMap.IConflatingEntries<null> | null;
346
622
  errorInsertsConflating: ISpatialMap.IConflatingEntries<string> | null;
347
- formatsConflating: ISpatialMap.IConflatingEntries | null;
623
+ formatsConflating: ISpatialMap.IConflatingEntries<ICalcGrid.FormatInsert> | null;
348
624
  /**
349
625
  * Called when the incremental updates are completed
350
626
  *
@@ -356,35 +632,59 @@ export declare namespace ICalcGrid {
356
632
  */
357
633
  done(cycleId: number, options: ICalculation.CalculateOptions): void;
358
634
  }
359
- interface GetSnapshotOptions extends ReferenceableClipboard.CopyOptions {
635
+ /**
636
+ * Options for {@link ICalcGrid.getSnapshot}: what the engine reads, named.
637
+ */
638
+ interface GetSnapshotOptions {
360
639
  /**
361
640
  * The range to capture the snapshot from. If omitted the entire range will be used.
362
641
  */
363
642
  range?: IRange.Coords | string;
643
+ /**
644
+ * `true` when the capture is for a move: the copy that follows vacates the source.
645
+ * @defaultValue false
646
+ */
647
+ isCut?: boolean;
364
648
  }
365
649
  /**
366
650
  * Provides destination details for the Snapshot when using `IHistory.ISnapshot.copyTo`.
367
651
  */
368
652
  interface SnapshotDestination {
369
653
  /**
370
- * The destination calc graph to copy to.
654
+ * The id of the grid to copy to ({@link ICalcGrid.getId}): the destination is named, never
655
+ * handed over.
371
656
  */
372
- calcGrid: ICalcGrid;
657
+ gridId: string;
658
+ /**
659
+ * The model's destination grid, when the caller holds it: what lets a copy land on another
660
+ * workbook's grid, which no id resolves to here. In-process only; never crosses a channel.
661
+ */
662
+ grid?: ICalcGrid;
373
663
  /**
374
664
  * The range to copy the snapshot to.
375
665
  */
376
666
  range: IRange.Coords | string;
377
667
  }
378
- interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid, IRange.Coords> {
668
+ interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid.Backend, IRange.Coords, any, ICalcGrid.Results> {
379
669
  /**
380
- * Called when the table is copied to a new collection.
670
+ * Copies the snapshot's formulas to the destination grid.
671
+ *
672
+ * @returns Resolves with the blocks minted at the destination (re-anchored, `#REF!` where a
673
+ * relative reference left the sheet) and, for a cut, the coords vacated at the source. The
674
+ * copied extent is the result's `bounds`.
381
675
  */
382
- copyTo(destination: ICalcGrid.SnapshotDestination, options?: ICalcGrid.CopyOptions): Promise<IRange.Coords>;
676
+ copyTo(destination: ICalcGrid.SnapshotDestination, options?: ICalcGrid.CopyOptions): Promise<ICalcGrid.Results>;
383
677
  }
384
678
  /**
385
- * Options for {@link ISnapshot.copyTo}.
679
+ * Options for {@link ISnapshot.copyTo}: what the engine reads, named. A caller's clipboard
680
+ * options (an undo selection, callbacks) are the caller's, and never ride along.
386
681
  */
387
- interface CopyOptions extends ReferenceableClipboard.CopyOptions {
682
+ interface CopyOptions extends RequestOptions {
683
+ /**
684
+ * `true` for a move: the source is vacated and the precedents of other formulas follow.
685
+ * Defaults to what the snapshot was captured with.
686
+ */
687
+ isCut?: boolean;
388
688
  /**
389
689
  * When pasting from a smaller range to a larger range copy will repeat or 'wallpaper' the
390
690
  * source values.
@@ -409,10 +709,57 @@ export declare namespace ICalcGrid {
409
709
  */
410
710
  coords?: string[];
411
711
  }
712
+ /**
713
+ * Options for {@link ICalcGrid.setInputs}.
714
+ */
715
+ /**
716
+ * What every request to the grid carries.
717
+ */
718
+ /** Options for {@link ICalcGrid.remove}. */
719
+ interface RemoveOptions extends RequestOptions {
720
+ /**
721
+ * Treat the arrays the range touches as Clear Contents does: a fixed (array-entered) one is set
722
+ * aside and put back once the cells are empty, the spilled cells of an anchor inside go now,
723
+ * and one the range cuts through becomes a spill error. A typed delete does not.
724
+ *
725
+ * @defaultValue `false`
726
+ */
727
+ clearArrays?: boolean;
728
+ }
729
+ interface RequestOptions {
730
+ /**
731
+ * The id of the transaction snapshot the request is made at: the commit the calling
732
+ * operation is, or will be. Echoed on {@link Results.commitId}; the resolution's coords are
733
+ * addresses in this snapshot.
734
+ */
735
+ commitId?: string;
736
+ /**
737
+ * The savepoint the request is made under (`ITransaction.getSavepointId`): the root's id for
738
+ * a root-level write, a nested transaction's own for a nested one. What the engine's copy of
739
+ * the maps is keyed by, so a second write under the same savepoint updates the copy the
740
+ * first one made; and what a nested rollback names. Omit outside a transaction.
741
+ */
742
+ cloneKey?: string;
743
+ }
744
+ interface SetInputsOptions extends RequestOptions {
745
+ /**
746
+ * The formula being set is array-entered (Ctrl+Shift+Enter) over this extent: it anchors a
747
+ * `fixed` block whose result is fitted to these coordinates rather than spilling from them.
748
+ * Applies to the formula entry at the extent's top-left.
749
+ */
750
+ arrayFixed?: IRange.Coords;
751
+ }
752
+ /**
753
+ * What a restore tells the grid. See {@link ICalcGrid.revert}.
754
+ */
755
+ interface RevertOptions {
756
+ /** The snapshot the model restored to. */
757
+ commitId: string;
758
+ }
412
759
  /**
413
760
  * Options for shifting the calc graph.
414
761
  */
415
- interface ShiftOptions {
762
+ interface ShiftOptions extends RequestOptions {
416
763
  /**
417
764
  * The range to shift.
418
765
  */
@@ -421,41 +768,44 @@ export declare namespace ICalcGrid {
421
768
  * The direction to shift.
422
769
  */
423
770
  direction: IRange.Direction;
771
+ }
772
+ /**
773
+ * What {@link Events.onInputsWritten} reports of a write.
774
+ */
775
+ interface InputsWritten {
776
+ /** Names the grid's inputs as this write left them; a later write names new ones. */
777
+ inputsId: string;
424
778
  /**
425
- * If `true` the this will return a clone instance of the graph if there are any modifications.
426
- *
427
- * @defaultValue false
428
- *
429
- * @remarks
430
- * This allows for a 0-1 clone on write.
779
+ * The array extents the write set aside, moved or put back - a shift carries a fixed array
780
+ * with the cells - or `null` when it touched none.
431
781
  */
432
- cloneIfUpdate?: boolean;
782
+ arrays: readonly IRange.Coords[] | null;
433
783
  }
434
784
  /**
435
785
  * Events for {@link ICalcGrid}.
436
786
  */
437
787
  interface Events {
438
788
  /**
439
- * Called when the calculation has been updated and a calculation has not been started.
440
- */
441
- onInvalidate?(source: ICalcGrid): void;
442
- /**
443
- * Called when a calculation is started.
789
+ * The engine answered: values, formulas and status for the cells `results` names. What it
790
+ * carries is already in this grid's maps when this is called.
444
791
  */
445
- onStart?(source: ICalcGrid): void;
792
+ onComplete?(source: ICalcGrid, results: ICalcGrid.Results): void;
446
793
  /**
447
- * Called when a calculation is completed.
794
+ * What a formula read answers changed without a write of the model's: the engine attached
795
+ * a compiled block, or rewrote a formula's text (`textChanged`).
448
796
  */
449
- onComplete?(source: ICalcGrid, results: ICalcGrid.Results): void;
797
+ onFormulasChanged?(source: ICalcGrid, textChanged: boolean): void;
450
798
  /**
451
- * Called when the calculation engine is unable to calc.
799
+ * A write the model made landed in this grid: an entry, a removal, a shift, a fill or a copy.
800
+ * Never a seed, never an answer of the engine's.
452
801
  *
453
802
  * @remarks
454
- * This is not when a specific function fails, but when the calculation engine is unable to complete the calculation.
803
+ * Called synchronously, inside the operation the write is part of, so what a listener writes
804
+ * lands in the same commit.
455
805
  */
456
- onError?(source: ICalcGrid): void;
806
+ onInputsWritten?(source: ICalcGrid, written: ICalcGrid.InputsWritten): void;
457
807
  /**
458
- * Called when the CalcGrid is closed.
808
+ * The grid has closed: its owner closed, or the calculation it belongs to did.
459
809
  */
460
810
  onClose?(source: ICalcGrid): void;
461
811
  }
@@ -488,19 +838,35 @@ export declare namespace ICalcGrid {
488
838
  * For built-in functions volatile will be auto added.
489
839
  */
490
840
  volatile?: IRange.Address[];
841
+ /**
842
+ * The rows the grid's owner hides, ascending and disjoint; absent for none.
843
+ */
844
+ hiddenRows?: readonly RunCoords[];
845
+ /**
846
+ * The columns the grid's owner hides, as {@link hiddenRows}.
847
+ */
848
+ hiddenColumns?: readonly RunCoords[];
849
+ /**
850
+ * Whether the grid's owner is filtered ({@link ICalcGrid.setFiltered}); absent for not.
851
+ */
852
+ filtered?: boolean;
853
+ /**
854
+ * The grid's size ({@link ICalcGrid.resize}), read by a seed; absent to keep the one it has. A
855
+ * save does not write it: the owner keeps its own.
856
+ */
857
+ entireCoords?: IRange.Coords;
491
858
  }
492
859
  /**
493
- * Options for {@link ICalcGrid.fromJSON}.
860
+ * Options for {@link ICalcGrid.seed}.
494
861
  */
495
- interface FromJSONOptions {
862
+ interface SeedOptions {
496
863
  /**
497
- * A structural transform applied to each formula's parsed tree (pre-link) as it loads —
498
- * the READ half of the dialect hook. A format reader (io-xlsx) supplies its legacy unwrap
499
- * here; native loads pass nothing.
864
+ * Recalculate everything the seed carries rather than trusting its values: the seed comes
865
+ * from an owner the engine was not following (design §13.13, the openpyxl rule).
500
866
  *
501
- * @see {@link ICalculation.FormulaTransform}
867
+ * @defaultValue `false`
502
868
  */
503
- formulaTransform?: ICalculation.FormulaTransform;
869
+ full?: boolean;
504
870
  }
505
871
  interface ToJSONOptions {
506
872
  /**
@@ -509,14 +875,6 @@ export declare namespace ICalcGrid {
509
875
  * @defaultValue `false`
510
876
  */
511
877
  includeData?: boolean;
512
- /**
513
- * A structural transform applied to each formula as it serializes (once per formula
514
- * block, on the compiled AST) — how the xlsx writer applies its legacy spellings
515
- * (see io-xlsx `LegacyFormula.ts`).
516
- *
517
- * @see {@link ICalculation.FormulaTransform}
518
- */
519
- formulaTransform?: ICalculation.FormulaTransform;
520
878
  }
521
879
  }
522
880
  //# sourceMappingURL=ICalcGrid.d.ts.map