@sheetxl/sdk 0.7.21 → 0.7.23-beta.2

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 (1088) hide show
  1. package/THIRD-PARTY-NOTICES.md +34 -0
  2. package/browser/cjs/A5-b-7zx2sEOEcvl.cjs +33 -0
  3. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +1 -0
  4. package/browser/cjs/Ccctey_HrpWuagT6.cjs +1 -0
  5. package/browser/cjs/CniTOg7oLRZwmgyM.cjs +57 -0
  6. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +10 -0
  7. package/browser/cjs/E1pJfQiTbMva4WCz.cjs +1 -0
  8. package/browser/cjs/Y8ZGOM8g4sbsbA1Y.cjs +1 -0
  9. package/browser/cjs/index.cjs +3 -6
  10. package/browser/esm/BBJT6wXyXEvBQZKA.mjs +24 -0
  11. package/browser/esm/Ba8ViNCurmu-pQzB.mjs +818 -0
  12. package/browser/esm/Cnay4yeRx2XxT4Yp.mjs +50007 -0
  13. package/browser/esm/CrUqWGb8XSOVpWCS.mjs +109 -0
  14. package/browser/esm/DIqScru4YD2CC9q7.mjs +4436 -0
  15. package/browser/esm/DvShgCfX0MBnppXt.mjs +503 -0
  16. package/browser/esm/VD1vENLIu7_1r1UY.mjs +14 -0
  17. package/browser/esm/index.mjs +3225 -62
  18. package/licenses/dependencies.txt +74 -193
  19. package/node/esm/AiAlZ5mkssqXTadr.mjs +22 -0
  20. package/node/esm/Pg7h7EA11A6iLSIA.mjs +837 -0
  21. package/node/esm/index.mjs +53637 -23246
  22. package/node/esm/k4ZdzJqmTRplKGLv.mjs +114 -0
  23. package/package.json +19 -14
  24. package/resources/contents.json +21 -0
  25. package/resources/locales/contents.json +19 -0
  26. package/resources/locales/de/grammar.json +16 -0
  27. package/resources/locales/de/model.msg.json +510 -0
  28. package/resources/locales/en/model.msg.json +525 -0
  29. package/types/index.d.ts +2 -21284
  30. package/types/scripting-enums.json +1009 -0
  31. package/types/scripting.d.ts +26139 -31019
  32. package/types/src/address/AddressUtils.d.ts +252 -0
  33. package/types/src/address/AddressUtils.d.ts.map +1 -0
  34. package/types/src/address/_AddressMessages.d.ts +7 -0
  35. package/types/src/address/_AddressMessages.d.ts.map +1 -0
  36. package/types/src/address/index.d.ts +35 -0
  37. package/types/src/address/index.d.ts.map +1 -0
  38. package/types/src/anchored/AbstractAnchored.d.ts +200 -0
  39. package/types/src/anchored/AbstractAnchored.d.ts.map +1 -0
  40. package/types/src/anchored/Anchored.d.ts +154 -0
  41. package/types/src/anchored/Anchored.d.ts.map +1 -0
  42. package/types/src/anchored/AnchoredMap.d.ts +178 -0
  43. package/types/src/anchored/AnchoredMap.d.ts.map +1 -0
  44. package/types/src/anchored/IAnchored.d.ts +118 -0
  45. package/types/src/anchored/IAnchored.d.ts.map +1 -0
  46. package/types/src/anchored/IAnchoredMap.d.ts +207 -0
  47. package/types/src/anchored/IAnchoredMap.d.ts.map +1 -0
  48. package/types/src/anchored/_AnchorMessages.d.ts +3 -0
  49. package/types/src/anchored/_AnchorMessages.d.ts.map +1 -0
  50. package/types/src/anchored/index.d.ts +2 -0
  51. package/types/src/anchored/index.d.ts.map +1 -0
  52. package/types/src/autoFill/AutoFill.d.ts +161 -0
  53. package/types/src/autoFill/AutoFill.d.ts.map +1 -0
  54. package/types/src/autoFill/IAutoFill.d.ts +117 -0
  55. package/types/src/autoFill/IAutoFill.d.ts.map +1 -0
  56. package/types/src/autoFill/index.d.ts +3 -0
  57. package/types/src/autoFill/index.d.ts.map +1 -0
  58. package/types/src/border/IBorder.d.ts +284 -0
  59. package/types/src/border/IBorder.d.ts.map +1 -0
  60. package/types/src/border/index.d.ts +2 -0
  61. package/types/src/border/index.d.ts.map +1 -0
  62. package/types/src/calculation/Calculation.d.ts +440 -0
  63. package/types/src/calculation/Calculation.d.ts.map +1 -0
  64. package/types/src/calculation/FormulaLiterals.d.ts +18 -0
  65. package/types/src/calculation/FormulaLiterals.d.ts.map +1 -0
  66. package/types/src/calculation/ICalculation.d.ts +1016 -0
  67. package/types/src/calculation/ICalculation.d.ts.map +1 -0
  68. package/types/src/calculation/INamedFormulasCollection.d.ts +141 -0
  69. package/types/src/calculation/INamedFormulasCollection.d.ts.map +1 -0
  70. package/types/src/calculation/NamedFormulaCollection.d.ts +671 -0
  71. package/types/src/calculation/NamedFormulaCollection.d.ts.map +1 -0
  72. package/types/src/calculation/TokenType.d.ts +117 -0
  73. package/types/src/calculation/TokenType.d.ts.map +1 -0
  74. package/types/src/calculation/Types.d.ts +110 -0
  75. package/types/src/calculation/Types.d.ts.map +1 -0
  76. package/types/src/calculation/_CalculationMessages.d.ts +3 -0
  77. package/types/src/calculation/_CalculationMessages.d.ts.map +1 -0
  78. package/types/src/calculation/builtInNames.d.ts +2 -0
  79. package/types/src/calculation/builtInNames.d.ts.map +1 -0
  80. package/types/src/calculation/compiler/ASTTypes.d.ts +180 -0
  81. package/types/src/calculation/compiler/ASTTypes.d.ts.map +1 -0
  82. package/types/src/calculation/compiler/CompilerLocale.d.ts +69 -0
  83. package/types/src/calculation/compiler/CompilerLocale.d.ts.map +1 -0
  84. package/types/src/calculation/compiler/CompilerUtils.d.ts +331 -0
  85. package/types/src/calculation/compiler/CompilerUtils.d.ts.map +1 -0
  86. package/types/src/calculation/compiler/FormulaCompiler.d.ts +69 -0
  87. package/types/src/calculation/compiler/FormulaCompiler.d.ts.map +1 -0
  88. package/types/src/calculation/compiler/FormulaLexer.d.ts +85 -0
  89. package/types/src/calculation/compiler/FormulaLexer.d.ts.map +1 -0
  90. package/types/src/calculation/compiler/FormulaParser.d.ts +270 -0
  91. package/types/src/calculation/compiler/FormulaParser.d.ts.map +1 -0
  92. package/types/src/calculation/compiler/FormulaSeparators.d.ts +35 -0
  93. package/types/src/calculation/compiler/FormulaSeparators.d.ts.map +1 -0
  94. package/types/src/calculation/compiler/LiteTransform.d.ts +15 -0
  95. package/types/src/calculation/compiler/LiteTransform.d.ts.map +1 -0
  96. package/types/src/calculation/compiler/ParserUtils.d.ts +167 -0
  97. package/types/src/calculation/compiler/ParserUtils.d.ts.map +1 -0
  98. package/types/src/calculation/compiler/SRLexer.d.ts +19 -0
  99. package/types/src/calculation/compiler/SRLexer.d.ts.map +1 -0
  100. package/types/src/calculation/compiler/SRParser.d.ts +38 -0
  101. package/types/src/calculation/compiler/SRParser.d.ts.map +1 -0
  102. package/types/src/calculation/compiler/Types.d.ts +274 -0
  103. package/types/src/calculation/compiler/Types.d.ts.map +1 -0
  104. package/types/src/calculation/compiler/index.d.ts +3 -0
  105. package/types/src/calculation/compiler/index.d.ts.map +1 -0
  106. package/types/src/calculation/executor/CalcExecutor.d.ts +115 -0
  107. package/types/src/calculation/executor/CalcExecutor.d.ts.map +1 -0
  108. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +11 -0
  109. package/types/src/calculation/executor/CalcExecutorUtils.d.ts.map +1 -0
  110. package/types/src/calculation/executor/index.d.ts +3 -0
  111. package/types/src/calculation/executor/index.d.ts.map +1 -0
  112. package/types/src/calculation/formula/Formula.d.ts +168 -0
  113. package/types/src/calculation/formula/Formula.d.ts.map +1 -0
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +207 -0
  115. package/types/src/calculation/formula/FormulaBlock.d.ts.map +1 -0
  116. package/types/src/calculation/formula/IFormulaBlock.d.ts +181 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts.map +1 -0
  118. package/types/src/calculation/formula/LambdaValue.d.ts +166 -0
  119. package/types/src/calculation/formula/LambdaValue.d.ts.map +1 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +26 -0
  121. package/types/src/calculation/formula/TokenUtils.d.ts.map +1 -0
  122. package/types/src/calculation/formula/index.d.ts +4 -0
  123. package/types/src/calculation/formula/index.d.ts.map +1 -0
  124. package/types/src/calculation/functions/Operators.d.ts +30 -0
  125. package/types/src/calculation/functions/Operators.d.ts.map +1 -0
  126. package/types/src/calculation/functions/index.d.ts +2 -0
  127. package/types/src/calculation/functions/index.d.ts.map +1 -0
  128. package/types/src/calculation/functions/initializeFunctions.d.ts +22 -0
  129. package/types/src/calculation/functions/initializeFunctions.d.ts.map +1 -0
  130. package/types/src/calculation/grid/CalcGrid.d.ts +205 -0
  131. package/types/src/calculation/grid/CalcGrid.d.ts.map +1 -0
  132. package/types/src/calculation/grid/CalcGridUtils.d.ts +172 -0
  133. package/types/src/calculation/grid/CalcGridUtils.d.ts.map +1 -0
  134. package/types/src/calculation/grid/ICalcGrid.d.ts +500 -0
  135. package/types/src/calculation/grid/ICalcGrid.d.ts.map +1 -0
  136. package/types/src/calculation/grid/index.d.ts +3 -0
  137. package/types/src/calculation/grid/index.d.ts.map +1 -0
  138. package/types/src/calculation/index.d.ts +5 -0
  139. package/types/src/calculation/index.d.ts.map +1 -0
  140. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +25 -0
  141. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts.map +1 -0
  142. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +120 -0
  143. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts.map +1 -0
  144. package/types/src/calculation/spatial/PrecedentSpatialValue.d.ts +115 -0
  145. package/types/src/calculation/spatial/PrecedentSpatialValue.d.ts.map +1 -0
  146. package/types/src/calculation/spatial/SpillEntry.d.ts +40 -0
  147. package/types/src/calculation/spatial/SpillEntry.d.ts.map +1 -0
  148. package/types/src/calculation/spatial/index.d.ts +5 -0
  149. package/types/src/calculation/spatial/index.d.ts.map +1 -0
  150. package/types/src/calculation/state/CalcNode.d.ts +71 -0
  151. package/types/src/calculation/state/CalcNode.d.ts.map +1 -0
  152. package/types/src/calculation/state/CalcScope.d.ts +35 -0
  153. package/types/src/calculation/state/CalcScope.d.ts.map +1 -0
  154. package/types/src/calculation/state/CalcState.d.ts +28 -0
  155. package/types/src/calculation/state/CalcState.d.ts.map +1 -0
  156. package/types/src/calculation/state/CalculationContext.d.ts +125 -0
  157. package/types/src/calculation/state/CalculationContext.d.ts.map +1 -0
  158. package/types/src/calculation/state/IContextContainer.d.ts +320 -0
  159. package/types/src/calculation/state/IContextContainer.d.ts.map +1 -0
  160. package/types/src/calculation/state/index.d.ts +6 -0
  161. package/types/src/calculation/state/index.d.ts.map +1 -0
  162. package/types/src/calculation/symbol/FunctionSymbolProvider.d.ts +44 -0
  163. package/types/src/calculation/symbol/FunctionSymbolProvider.d.ts.map +1 -0
  164. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +93 -0
  165. package/types/src/calculation/symbol/ISymbolRegistry.d.ts.map +1 -0
  166. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +144 -0
  167. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts.map +1 -0
  168. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +18 -0
  169. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts.map +1 -0
  170. package/types/src/calculation/symbol/SymbolRegistry.d.ts +19 -0
  171. package/types/src/calculation/symbol/SymbolRegistry.d.ts.map +1 -0
  172. package/types/src/calculation/symbol/TableColumnSymbolProvider.d.ts +21 -0
  173. package/types/src/calculation/symbol/TableColumnSymbolProvider.d.ts.map +1 -0
  174. package/types/src/calculation/symbol/TableSymbolProvider.d.ts +19 -0
  175. package/types/src/calculation/symbol/TableSymbolProvider.d.ts.map +1 -0
  176. package/types/src/calculation/symbol/index.d.ts +9 -0
  177. package/types/src/calculation/symbol/index.d.ts.map +1 -0
  178. package/types/src/cell/ICell.d.ts +672 -0
  179. package/types/src/cell/ICell.d.ts.map +1 -0
  180. package/types/src/cell/ICellHeader.d.ts +142 -0
  181. package/types/src/cell/ICellHeader.d.ts.map +1 -0
  182. package/types/src/cell/ICellProtection.d.ts +41 -0
  183. package/types/src/cell/ICellProtection.d.ts.map +1 -0
  184. package/types/src/cell/index.d.ts +4 -0
  185. package/types/src/cell/index.d.ts.map +1 -0
  186. package/types/src/cellRange/ICellHeaderRange.d.ts +306 -0
  187. package/types/src/cellRange/ICellHeaderRange.d.ts.map +1 -0
  188. package/types/src/cellRange/ICellHeaderRanges.d.ts +107 -0
  189. package/types/src/cellRange/ICellHeaderRanges.d.ts.map +1 -0
  190. package/types/src/cellRange/ICellRange.d.ts +2509 -0
  191. package/types/src/cellRange/ICellRange.d.ts.map +1 -0
  192. package/types/src/cellRange/ICellRanges.d.ts +407 -0
  193. package/types/src/cellRange/ICellRanges.d.ts.map +1 -0
  194. package/types/src/cellRange/ICellRegion.d.ts +133 -0
  195. package/types/src/cellRange/ICellRegion.d.ts.map +1 -0
  196. package/types/src/cellRange/_GraphNode.d.ts +38 -0
  197. package/types/src/cellRange/_GraphNode.d.ts.map +1 -0
  198. package/types/src/cellRange/index.d.ts +6 -0
  199. package/types/src/cellRange/index.d.ts.map +1 -0
  200. package/types/src/chart/Chart.d.ts +53 -0
  201. package/types/src/chart/Chart.d.ts.map +1 -0
  202. package/types/src/chart/IChart.d.ts +42 -0
  203. package/types/src/chart/IChart.d.ts.map +1 -0
  204. package/types/src/chart/index.d.ts +5 -0
  205. package/types/src/chart/index.d.ts.map +1 -0
  206. package/types/src/collections/ArraysGrid.d.ts +72 -0
  207. package/types/src/collections/ArraysGrid.d.ts.map +1 -0
  208. package/types/src/collections/BooleanList.d.ts +67 -0
  209. package/types/src/collections/BooleanList.d.ts.map +1 -0
  210. package/types/src/collections/GridMap.d.ts +47 -0
  211. package/types/src/collections/GridMap.d.ts.map +1 -0
  212. package/types/src/collections/HashMap.d.ts +15 -0
  213. package/types/src/collections/HashMap.d.ts.map +1 -0
  214. package/types/src/collections/IGrid.d.ts +278 -0
  215. package/types/src/collections/IGrid.d.ts.map +1 -0
  216. package/types/src/collections/IList.d.ts +89 -0
  217. package/types/src/collections/IList.d.ts.map +1 -0
  218. package/types/src/collections/IMap.d.ts +45 -0
  219. package/types/src/collections/IMap.d.ts.map +1 -0
  220. package/types/src/collections/IReadableList.d.ts +120 -0
  221. package/types/src/collections/IReadableList.d.ts.map +1 -0
  222. package/types/src/collections/ISortedMap.d.ts +171 -0
  223. package/types/src/collections/ISortedMap.d.ts.map +1 -0
  224. package/types/src/collections/ISparseGrid.d.ts +61 -0
  225. package/types/src/collections/ISparseGrid.d.ts.map +1 -0
  226. package/types/src/collections/ISparseList.d.ts +103 -0
  227. package/types/src/collections/ISparseList.d.ts.map +1 -0
  228. package/types/src/collections/ISpatialMap.d.ts +515 -0
  229. package/types/src/collections/ISpatialMap.d.ts.map +1 -0
  230. package/types/src/collections/ISpatialMap3D.d.ts +116 -0
  231. package/types/src/collections/ISpatialMap3D.d.ts.map +1 -0
  232. package/types/src/collections/IWritableList.d.ts +41 -0
  233. package/types/src/collections/IWritableList.d.ts.map +1 -0
  234. package/types/src/collections/ImmutableList.d.ts +52 -0
  235. package/types/src/collections/ImmutableList.d.ts.map +1 -0
  236. package/types/src/collections/IteratorUtils.d.ts +91 -0
  237. package/types/src/collections/IteratorUtils.d.ts.map +1 -0
  238. package/types/src/collections/MixedTypedArrayList.d.ts +140 -0
  239. package/types/src/collections/MixedTypedArrayList.d.ts.map +1 -0
  240. package/types/src/collections/OverlappingRangeIterator.d.ts +91 -0
  241. package/types/src/collections/OverlappingRangeIterator.d.ts.map +1 -0
  242. package/types/src/collections/RTree.d.ts +111 -0
  243. package/types/src/collections/RTree.d.ts.map +1 -0
  244. package/types/src/collections/RepeatingList.d.ts +20 -0
  245. package/types/src/collections/RepeatingList.d.ts.map +1 -0
  246. package/types/src/collections/SortedMap.d.ts +396 -0
  247. package/types/src/collections/SortedMap.d.ts.map +1 -0
  248. package/types/src/collections/SparseGrid.d.ts +99 -0
  249. package/types/src/collections/SparseGrid.d.ts.map +1 -0
  250. package/types/src/collections/SparseList.d.ts +90 -0
  251. package/types/src/collections/SparseList.d.ts.map +1 -0
  252. package/types/src/collections/SpatialMap.d.ts +102 -0
  253. package/types/src/collections/SpatialMap.d.ts.map +1 -0
  254. package/types/src/collections/SpatialMap3D.d.ts +64 -0
  255. package/types/src/collections/SpatialMap3D.d.ts.map +1 -0
  256. package/types/src/collections/Tuple.d.ts +160 -0
  257. package/types/src/collections/Tuple.d.ts.map +1 -0
  258. package/types/src/collections/_CollectionUtils.d.ts +25 -0
  259. package/types/src/collections/_CollectionUtils.d.ts.map +1 -0
  260. package/types/src/collections/_GridUtils.d.ts +268 -0
  261. package/types/src/collections/_GridUtils.d.ts.map +1 -0
  262. package/types/src/collections/_RunUtils.d.ts +170 -0
  263. package/types/src/collections/_RunUtils.d.ts.map +1 -0
  264. package/types/src/collections/_SpatialUtils.d.ts +115 -0
  265. package/types/src/collections/_SpatialUtils.d.ts.map +1 -0
  266. package/types/src/collections/index.d.ts +21 -0
  267. package/types/src/collections/index.d.ts.map +1 -0
  268. package/types/src/color/Color.d.ts +120 -0
  269. package/types/src/color/Color.d.ts.map +1 -0
  270. package/types/src/color/ColorSpace.d.ts +45 -0
  271. package/types/src/color/ColorSpace.d.ts.map +1 -0
  272. package/types/src/color/IColor.d.ts +1110 -0
  273. package/types/src/color/IColor.d.ts.map +1 -0
  274. package/types/src/color/_BuiltInIndexDefs.d.ts +4 -0
  275. package/types/src/color/_BuiltInIndexDefs.d.ts.map +1 -0
  276. package/types/src/color/_BuiltInNamedDefs.d.ts +29 -0
  277. package/types/src/color/_BuiltInNamedDefs.d.ts.map +1 -0
  278. package/types/src/color/_BuiltInSchemeDefs.d.ts +7 -0
  279. package/types/src/color/_BuiltInSchemeDefs.d.ts.map +1 -0
  280. package/types/src/color/_ColorUtils.d.ts +93 -0
  281. package/types/src/color/_ColorUtils.d.ts.map +1 -0
  282. package/types/src/color/index.d.ts +3 -0
  283. package/types/src/color/index.d.ts.map +1 -0
  284. package/types/src/comment/IComment.d.ts +108 -0
  285. package/types/src/comment/IComment.d.ts.map +1 -0
  286. package/types/src/comment/index.d.ts +2 -0
  287. package/types/src/comment/index.d.ts.map +1 -0
  288. package/types/src/condition/AnchoredConditional.d.ts +263 -0
  289. package/types/src/condition/AnchoredConditional.d.ts.map +1 -0
  290. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +83 -0
  291. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts.map +1 -0
  292. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +8 -0
  293. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts.map +1 -0
  294. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +8 -0
  295. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts.map +1 -0
  296. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +12 -0
  297. package/types/src/condition/BuiltInOperators/AndOperator.d.ts.map +1 -0
  298. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +12 -0
  299. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts.map +1 -0
  300. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +8 -0
  301. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts.map +1 -0
  302. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +8 -0
  303. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts.map +1 -0
  304. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +12 -0
  305. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts.map +1 -0
  306. package/types/src/condition/BuiltInOperators/BlankOperator.d.ts +9 -0
  307. package/types/src/condition/BuiltInOperators/BlankOperator.d.ts.map +1 -0
  308. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +8 -0
  309. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts.map +1 -0
  310. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +8 -0
  311. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts.map +1 -0
  312. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +8 -0
  313. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts.map +1 -0
  314. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +11 -0
  315. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts.map +1 -0
  316. package/types/src/condition/BuiltInOperators/ErrorOperator.d.ts +9 -0
  317. package/types/src/condition/BuiltInOperators/ErrorOperator.d.ts.map +1 -0
  318. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +17 -0
  319. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts.map +1 -0
  320. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +8 -0
  321. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts.map +1 -0
  322. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +8 -0
  323. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts.map +1 -0
  324. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +8 -0
  325. package/types/src/condition/BuiltInOperators/IconOperator.d.ts.map +1 -0
  326. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +14 -0
  327. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts.map +1 -0
  328. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +8 -0
  329. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts.map +1 -0
  330. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +8 -0
  331. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts.map +1 -0
  332. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +12 -0
  333. package/types/src/condition/BuiltInOperators/NotOperator.d.ts.map +1 -0
  334. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +12 -0
  335. package/types/src/condition/BuiltInOperators/OrOperator.d.ts.map +1 -0
  336. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +8 -0
  337. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts.map +1 -0
  338. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +13 -0
  339. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts.map +1 -0
  340. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +12 -0
  341. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts.map +1 -0
  342. package/types/src/condition/BuiltInOperators/UniqueOperator.d.ts +8 -0
  343. package/types/src/condition/BuiltInOperators/UniqueOperator.d.ts.map +1 -0
  344. package/types/src/condition/BuiltInOperators/ValidEmailOperator.d.ts +8 -0
  345. package/types/src/condition/BuiltInOperators/ValidEmailOperator.d.ts.map +1 -0
  346. package/types/src/condition/BuiltInOperators/ValidUrlOperator.d.ts +8 -0
  347. package/types/src/condition/BuiltInOperators/ValidUrlOperator.d.ts.map +1 -0
  348. package/types/src/condition/BuiltInOperators/index.d.ts +59 -0
  349. package/types/src/condition/BuiltInOperators/index.d.ts.map +1 -0
  350. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +43 -0
  351. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts.map +1 -0
  352. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +14 -0
  353. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts.map +1 -0
  354. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +12 -0
  355. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts.map +1 -0
  356. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +16 -0
  357. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts.map +1 -0
  358. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +14 -0
  359. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts.map +1 -0
  360. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +14 -0
  361. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts.map +1 -0
  362. package/types/src/condition/BuiltinSelectors/index.d.ts +18 -0
  363. package/types/src/condition/BuiltinSelectors/index.d.ts.map +1 -0
  364. package/types/src/condition/Condition.d.ts +123 -0
  365. package/types/src/condition/Condition.d.ts.map +1 -0
  366. package/types/src/condition/ICondition.d.ts +915 -0
  367. package/types/src/condition/ICondition.d.ts.map +1 -0
  368. package/types/src/condition/_ConditionUtils.d.ts +190 -0
  369. package/types/src/condition/_ConditionUtils.d.ts.map +1 -0
  370. package/types/src/condition/index.d.ts +3 -0
  371. package/types/src/condition/index.d.ts.map +1 -0
  372. package/types/src/conditionalFormat/ConditionalEntry.d.ts +20 -0
  373. package/types/src/conditionalFormat/ConditionalEntry.d.ts.map +1 -0
  374. package/types/src/conditionalFormat/ConditionalFormat.d.ts +190 -0
  375. package/types/src/conditionalFormat/ConditionalFormat.d.ts.map +1 -0
  376. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +20 -0
  377. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts.map +1 -0
  378. package/types/src/conditionalFormat/IConditionalFormat.d.ts +518 -0
  379. package/types/src/conditionalFormat/IConditionalFormat.d.ts.map +1 -0
  380. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +70 -0
  381. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts.map +1 -0
  382. package/types/src/conditionalFormat/_ConditionalMessages.d.ts +2 -0
  383. package/types/src/conditionalFormat/_ConditionalMessages.d.ts.map +1 -0
  384. package/types/src/conditionalFormat/index.d.ts +3 -0
  385. package/types/src/conditionalFormat/index.d.ts.map +1 -0
  386. package/types/src/dataValidation/DataValidation.d.ts +121 -0
  387. package/types/src/dataValidation/DataValidation.d.ts.map +1 -0
  388. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -0
  389. package/types/src/dataValidation/DataValidationCollection.d.ts.map +1 -0
  390. package/types/src/dataValidation/IDataValidation.d.ts +327 -0
  391. package/types/src/dataValidation/IDataValidation.d.ts.map +1 -0
  392. package/types/src/dataValidation/IDataValidationCollection.d.ts +63 -0
  393. package/types/src/dataValidation/IDataValidationCollection.d.ts.map +1 -0
  394. package/types/src/dataValidation/_DataValidationMessages.d.ts +2 -0
  395. package/types/src/dataValidation/_DataValidationMessages.d.ts.map +1 -0
  396. package/types/src/dataValidation/_Utils.d.ts +10 -0
  397. package/types/src/dataValidation/_Utils.d.ts.map +1 -0
  398. package/types/src/dataValidation/index.d.ts +3 -0
  399. package/types/src/dataValidation/index.d.ts.map +1 -0
  400. package/types/src/date/DateUtils.d.ts +8 -0
  401. package/types/src/date/DateUtils.d.ts.map +1 -0
  402. package/types/src/date/_DateUtils.d.ts +122 -0
  403. package/types/src/date/_DateUtils.d.ts.map +1 -0
  404. package/types/src/date/index.d.ts +2 -0
  405. package/types/src/date/index.d.ts.map +1 -0
  406. package/types/src/externalBook/ExternalBookCollection.d.ts +36 -0
  407. package/types/src/externalBook/ExternalBookCollection.d.ts.map +1 -0
  408. package/types/src/externalBook/IExternalBook.d.ts +97 -0
  409. package/types/src/externalBook/IExternalBook.d.ts.map +1 -0
  410. package/types/src/externalBook/IExternalBookCollection.d.ts +29 -0
  411. package/types/src/externalBook/IExternalBookCollection.d.ts.map +1 -0
  412. package/types/src/externalBook/index.d.ts +3 -0
  413. package/types/src/externalBook/index.d.ts.map +1 -0
  414. package/types/src/fill/IEffect.d.ts +389 -0
  415. package/types/src/fill/IEffect.d.ts.map +1 -0
  416. package/types/src/fill/IFill.d.ts +597 -0
  417. package/types/src/fill/IFill.d.ts.map +1 -0
  418. package/types/src/fill/IStroke.d.ts +265 -0
  419. package/types/src/fill/IStroke.d.ts.map +1 -0
  420. package/types/src/fill/_BuiltInPatterns.d.ts +27 -0
  421. package/types/src/fill/_BuiltInPatterns.d.ts.map +1 -0
  422. package/types/src/fill/index.d.ts +4 -0
  423. package/types/src/fill/index.d.ts.map +1 -0
  424. package/types/src/filter/IFilter.d.ts +83 -0
  425. package/types/src/filter/IFilter.d.ts.map +1 -0
  426. package/types/src/filter/index.d.ts +2 -0
  427. package/types/src/filter/index.d.ts.map +1 -0
  428. package/types/src/font/CanvasFontMeasurer.d.ts +25 -0
  429. package/types/src/font/CanvasFontMeasurer.d.ts.map +1 -0
  430. package/types/src/font/ExtendedTextMetrics.d.ts +1 -0
  431. package/types/src/font/ExtendedTextMetrics.d.ts.map +1 -0
  432. package/types/src/font/Font.d.ts +19 -0
  433. package/types/src/font/Font.d.ts.map +1 -0
  434. package/types/src/font/FontKitFontMeasurer.d.ts +11 -0
  435. package/types/src/font/FontKitFontMeasurer.d.ts.map +1 -0
  436. package/types/src/font/FontUtils.d.ts +9 -0
  437. package/types/src/font/FontUtils.d.ts.map +1 -0
  438. package/types/src/font/IFont.d.ts +261 -0
  439. package/types/src/font/IFont.d.ts.map +1 -0
  440. package/types/src/font/IFontCollection.d.ts +31 -0
  441. package/types/src/font/IFontCollection.d.ts.map +1 -0
  442. package/types/src/font/SimpleFontMeasurer.d.ts +4 -0
  443. package/types/src/font/SimpleFontMeasurer.d.ts.map +1 -0
  444. package/types/src/font/_FontUtils.d.ts +22 -0
  445. package/types/src/font/_FontUtils.d.ts.map +1 -0
  446. package/types/src/font/index.d.ts +5 -0
  447. package/types/src/font/index.d.ts.map +1 -0
  448. package/types/src/history/IHistory.d.ts +110 -0
  449. package/types/src/history/IHistory.d.ts.map +1 -0
  450. package/types/src/history/index.d.ts +2 -0
  451. package/types/src/history/index.d.ts.map +1 -0
  452. package/types/src/hyperlink/IHyperlink.d.ts +96 -0
  453. package/types/src/hyperlink/IHyperlink.d.ts.map +1 -0
  454. package/types/src/hyperlink/_Hyperlink.d.ts +21 -0
  455. package/types/src/hyperlink/_Hyperlink.d.ts.map +1 -0
  456. package/types/src/hyperlink/index.d.ts +2 -0
  457. package/types/src/hyperlink/index.d.ts.map +1 -0
  458. package/types/src/i18n/LanguagePack.d.ts +97 -0
  459. package/types/src/i18n/LanguagePack.d.ts.map +1 -0
  460. package/types/src/i18n/LocaleProfile.d.ts +15 -0
  461. package/types/src/i18n/LocaleProfile.d.ts.map +1 -0
  462. package/types/src/i18n/_CurrencyData.d.ts +20 -0
  463. package/types/src/i18n/_CurrencyData.d.ts.map +1 -0
  464. package/types/src/i18n/functionLocales.d.ts +6 -0
  465. package/types/src/i18n/functionLocales.d.ts.map +1 -0
  466. package/types/src/i18n/index.d.ts +4 -0
  467. package/types/src/i18n/index.d.ts.map +1 -0
  468. package/types/src/i18n/locales.d.ts +3 -0
  469. package/types/src/i18n/locales.d.ts.map +1 -0
  470. package/types/src/index.d.ts +71 -0
  471. package/types/src/index.d.ts.map +1 -0
  472. package/types/src/io/AbstractBackingStore.d.ts +53 -0
  473. package/types/src/io/AbstractBackingStore.d.ts.map +1 -0
  474. package/types/src/io/ArrayBackingStore.d.ts +34 -0
  475. package/types/src/io/ArrayBackingStore.d.ts.map +1 -0
  476. package/types/src/io/IWorkbookIO.d.ts +1322 -0
  477. package/types/src/io/IWorkbookIO.d.ts.map +1 -0
  478. package/types/src/io/WorkbookIO.d.ts +91 -0
  479. package/types/src/io/WorkbookIO.d.ts.map +1 -0
  480. package/types/src/io/WorkbookOrigin.d.ts +114 -0
  481. package/types/src/io/WorkbookOrigin.d.ts.map +1 -0
  482. package/types/src/io/WorkbookRegistry.d.ts +49 -0
  483. package/types/src/io/WorkbookRegistry.d.ts.map +1 -0
  484. package/types/src/io/index.d.ts +5 -0
  485. package/types/src/io/index.d.ts.map +1 -0
  486. package/types/src/lib/file/file.browser.d.ts +41 -0
  487. package/types/src/lib/file/file.browser.d.ts.map +1 -0
  488. package/types/src/lib/file/file.node.d.ts +25 -0
  489. package/types/src/lib/file/file.node.d.ts.map +1 -0
  490. package/types/src/lib/utils/_Utils.d.ts +20 -0
  491. package/types/src/lib/utils/_Utils.d.ts.map +1 -0
  492. package/types/src/lib/utils/banner.d.ts +6 -0
  493. package/types/src/lib/utils/banner.d.ts.map +1 -0
  494. package/types/src/lib/utils/utils.browser.d.ts +28 -0
  495. package/types/src/lib/utils/utils.browser.d.ts.map +1 -0
  496. package/types/src/lib/utils/utils.node.d.ts +42 -0
  497. package/types/src/lib/utils/utils.node.d.ts.map +1 -0
  498. package/types/src/license/LicenseDetails.d.ts +22 -0
  499. package/types/src/license/LicenseDetails.d.ts.map +1 -0
  500. package/types/src/license/LicenseManager.d.ts +63 -0
  501. package/types/src/license/LicenseManager.d.ts.map +1 -0
  502. package/types/src/license/index.d.ts +3 -0
  503. package/types/src/license/index.d.ts.map +1 -0
  504. package/types/src/license/license-key.d.ts +33 -0
  505. package/types/src/license/license-key.d.ts.map +1 -0
  506. package/types/src/listener/IListener.d.ts +62 -0
  507. package/types/src/listener/IListener.d.ts.map +1 -0
  508. package/types/src/listener/ListenerEmitter.d.ts +47 -0
  509. package/types/src/listener/ListenerEmitter.d.ts.map +1 -0
  510. package/types/src/listener/index.d.ts +2 -0
  511. package/types/src/listener/index.d.ts.map +1 -0
  512. package/types/src/model/AbstractModel.d.ts +90 -0
  513. package/types/src/model/AbstractModel.d.ts.map +1 -0
  514. package/types/src/model/IModel.d.ts +108 -0
  515. package/types/src/model/IModel.d.ts.map +1 -0
  516. package/types/src/model/_ModelMessages.d.ts +2 -0
  517. package/types/src/model/_ModelMessages.d.ts.map +1 -0
  518. package/types/src/model/index.d.ts +3 -0
  519. package/types/src/model/index.d.ts.map +1 -0
  520. package/types/src/movable/CustomElement.d.ts +42 -0
  521. package/types/src/movable/CustomElement.d.ts.map +1 -0
  522. package/types/src/movable/ICustomElement.d.ts +29 -0
  523. package/types/src/movable/ICustomElement.d.ts.map +1 -0
  524. package/types/src/movable/IGroup.d.ts +30 -0
  525. package/types/src/movable/IGroup.d.ts.map +1 -0
  526. package/types/src/movable/IMovable.d.ts +327 -0
  527. package/types/src/movable/IMovable.d.ts.map +1 -0
  528. package/types/src/movable/IMovableCollection.d.ts +129 -0
  529. package/types/src/movable/IMovableCollection.d.ts.map +1 -0
  530. package/types/src/movable/IMovableSelection.d.ts +49 -0
  531. package/types/src/movable/IMovableSelection.d.ts.map +1 -0
  532. package/types/src/movable/Movable.d.ts +221 -0
  533. package/types/src/movable/Movable.d.ts.map +1 -0
  534. package/types/src/movable/MovableCollection.d.ts +29 -0
  535. package/types/src/movable/MovableCollection.d.ts.map +1 -0
  536. package/types/src/movable/_MovableUtils.d.ts +4 -0
  537. package/types/src/movable/_MovableUtils.d.ts.map +1 -0
  538. package/types/src/movable/index.d.ts +4 -0
  539. package/types/src/movable/index.d.ts.map +1 -0
  540. package/types/src/named/AbstractNamed.d.ts +41 -0
  541. package/types/src/named/AbstractNamed.d.ts.map +1 -0
  542. package/types/src/named/INamed.d.ts +225 -0
  543. package/types/src/named/INamed.d.ts.map +1 -0
  544. package/types/src/named/INamedCollection.d.ts +230 -0
  545. package/types/src/named/INamedCollection.d.ts.map +1 -0
  546. package/types/src/named/NamedCollection.d.ts +302 -0
  547. package/types/src/named/NamedCollection.d.ts.map +1 -0
  548. package/types/src/named/_BuiltInNamed.d.ts +6 -0
  549. package/types/src/named/_BuiltInNamed.d.ts.map +1 -0
  550. package/types/src/named/index.d.ts +3 -0
  551. package/types/src/named/index.d.ts.map +1 -0
  552. package/types/src/numFmt/BuiltInFormats.d.ts +49 -0
  553. package/types/src/numFmt/BuiltInFormats.d.ts.map +1 -0
  554. package/types/src/numFmt/IFormatEngine.d.ts +149 -0
  555. package/types/src/numFmt/IFormatEngine.d.ts.map +1 -0
  556. package/types/src/numFmt/NumberFormatBuilder.d.ts +46 -0
  557. package/types/src/numFmt/NumberFormatBuilder.d.ts.map +1 -0
  558. package/types/src/numFmt/NumberFormatParser.d.ts +168 -0
  559. package/types/src/numFmt/NumberFormatParser.d.ts.map +1 -0
  560. package/types/src/numFmt/NumberFormatStyles.d.ts +43 -0
  561. package/types/src/numFmt/NumberFormatStyles.d.ts.map +1 -0
  562. package/types/src/numFmt/NumberFormatType.d.ts +79 -0
  563. package/types/src/numFmt/NumberFormatType.d.ts.map +1 -0
  564. package/types/src/numFmt/NumfmtFormatEngine.d.ts +33 -0
  565. package/types/src/numFmt/NumfmtFormatEngine.d.ts.map +1 -0
  566. package/types/src/numFmt/_BuiltInNumberFormats.d.ts +12 -0
  567. package/types/src/numFmt/_BuiltInNumberFormats.d.ts.map +1 -0
  568. package/types/src/numFmt/_FormatCell.d.ts +52 -0
  569. package/types/src/numFmt/_FormatCell.d.ts.map +1 -0
  570. package/types/src/numFmt/_NumFmtUtils.d.ts +102 -0
  571. package/types/src/numFmt/_NumFmtUtils.d.ts.map +1 -0
  572. package/types/src/numFmt/index.d.ts +105 -0
  573. package/types/src/numFmt/index.d.ts.map +1 -0
  574. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +15 -0
  575. package/types/src/numFmt/vendor/numfmt/index.d.ts +721 -0
  576. package/types/src/picture/IPicture.d.ts +69 -0
  577. package/types/src/picture/IPicture.d.ts.map +1 -0
  578. package/types/src/picture/Picture.d.ts +67 -0
  579. package/types/src/picture/Picture.d.ts.map +1 -0
  580. package/types/src/picture/index.d.ts +2 -0
  581. package/types/src/picture/index.d.ts.map +1 -0
  582. package/types/src/primitives/CompositeRangeStats.d.ts +63 -0
  583. package/types/src/primitives/CompositeRangeStats.d.ts.map +1 -0
  584. package/types/src/primitives/Criteria.d.ts +35 -0
  585. package/types/src/primitives/Criteria.d.ts.map +1 -0
  586. package/types/src/primitives/FormulaContext.d.ts +2 -0
  587. package/types/src/primitives/FormulaContext.d.ts.map +1 -0
  588. package/types/src/primitives/PrimitiveUtils.d.ts +255 -0
  589. package/types/src/primitives/PrimitiveUtils.d.ts.map +1 -0
  590. package/types/src/primitives/Range.d.ts +221 -0
  591. package/types/src/primitives/Range.d.ts.map +1 -0
  592. package/types/src/primitives/RangeStats.d.ts +48 -0
  593. package/types/src/primitives/RangeStats.d.ts.map +1 -0
  594. package/types/src/primitives/ReferenceRange.d.ts +19 -0
  595. package/types/src/primitives/ReferenceRange.d.ts.map +1 -0
  596. package/types/src/primitives/Runtime.d.ts +55 -0
  597. package/types/src/primitives/Runtime.d.ts.map +1 -0
  598. package/types/src/primitives/ScalarCollation.d.ts +174 -0
  599. package/types/src/primitives/ScalarCollation.d.ts.map +1 -0
  600. package/types/src/primitives/TextFold.d.ts +62 -0
  601. package/types/src/primitives/TextFold.d.ts.map +1 -0
  602. package/types/src/primitives/_PrimitiveMessages.d.ts +3 -0
  603. package/types/src/primitives/_PrimitiveMessages.d.ts.map +1 -0
  604. package/types/src/primitives/index.d.ts +7 -0
  605. package/types/src/primitives/index.d.ts.map +1 -0
  606. package/types/src/primitives/stats/AggregateStats.d.ts +119 -0
  607. package/types/src/primitives/stats/AggregateStats.d.ts.map +1 -0
  608. package/types/src/primitives/stats/Cancellation.d.ts +43 -0
  609. package/types/src/primitives/stats/Cancellation.d.ts.map +1 -0
  610. package/types/src/primitives/stats/FrequencyStats.d.ts +94 -0
  611. package/types/src/primitives/stats/FrequencyStats.d.ts.map +1 -0
  612. package/types/src/primitives/stats/Ranked.d.ts +26 -0
  613. package/types/src/primitives/stats/Ranked.d.ts.map +1 -0
  614. package/types/src/primitives/stats/ScalarOrder.d.ts +18 -0
  615. package/types/src/primitives/stats/ScalarOrder.d.ts.map +1 -0
  616. package/types/src/primitives/stats/SortedNumbers.d.ts +48 -0
  617. package/types/src/primitives/stats/SortedNumbers.d.ts.map +1 -0
  618. package/types/src/primitives/stats/index.d.ts +7 -0
  619. package/types/src/primitives/stats/index.d.ts.map +1 -0
  620. package/types/src/print/IPrint.d.ts +234 -0
  621. package/types/src/print/IPrint.d.ts.map +1 -0
  622. package/types/src/print/index.d.ts +2 -0
  623. package/types/src/print/index.d.ts.map +1 -0
  624. package/types/src/protectedRange/IProtectedRange.d.ts +239 -0
  625. package/types/src/protectedRange/IProtectedRange.d.ts.map +1 -0
  626. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +73 -0
  627. package/types/src/protectedRange/IProtectedRangeCollection.d.ts.map +1 -0
  628. package/types/src/protectedRange/ProtectedRange.d.ts +101 -0
  629. package/types/src/protectedRange/ProtectedRange.d.ts.map +1 -0
  630. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +21 -0
  631. package/types/src/protectedRange/ProtectedRangeCollection.d.ts.map +1 -0
  632. package/types/src/protectedRange/index.d.ts +3 -0
  633. package/types/src/protectedRange/index.d.ts.map +1 -0
  634. package/types/src/protection/DefaultProtection.d.ts +43 -0
  635. package/types/src/protection/DefaultProtection.d.ts.map +1 -0
  636. package/types/src/protection/IProtection.d.ts +170 -0
  637. package/types/src/protection/IProtection.d.ts.map +1 -0
  638. package/types/src/protection/PasswordHasher.d.ts +35 -0
  639. package/types/src/protection/PasswordHasher.d.ts.map +1 -0
  640. package/types/src/protection/index.d.ts +6 -0
  641. package/types/src/protection/index.d.ts.map +1 -0
  642. package/types/src/resource/IResource.d.ts +98 -0
  643. package/types/src/resource/IResource.d.ts.map +1 -0
  644. package/types/src/resource/IResourceCollection.d.ts +96 -0
  645. package/types/src/resource/IResourceCollection.d.ts.map +1 -0
  646. package/types/src/resource/Resource.d.ts +39 -0
  647. package/types/src/resource/Resource.d.ts.map +1 -0
  648. package/types/src/resource/ResourceCollection.d.ts +19 -0
  649. package/types/src/resource/ResourceCollection.d.ts.map +1 -0
  650. package/types/src/resource/_ResourceMessages.d.ts +4 -0
  651. package/types/src/resource/_ResourceMessages.d.ts.map +1 -0
  652. package/types/src/resource/index.d.ts +5 -0
  653. package/types/src/resource/index.d.ts.map +1 -0
  654. package/types/src/resource/resourceKinds.d.ts +23 -0
  655. package/types/src/resource/resourceKinds.d.ts.map +1 -0
  656. package/types/src/richData/index.d.ts +1 -0
  657. package/types/src/richData/index.d.ts.map +1 -0
  658. package/types/src/scripting/FunctionCollection.d.ts +88 -0
  659. package/types/src/scripting/FunctionCollection.d.ts.map +1 -0
  660. package/types/src/scripting/IFunctionCollection.d.ts +208 -0
  661. package/types/src/scripting/IFunctionCollection.d.ts.map +1 -0
  662. package/types/src/scripting/IModule.d.ts +82 -0
  663. package/types/src/scripting/IModule.d.ts.map +1 -0
  664. package/types/src/scripting/IModuleCollection.d.ts +79 -0
  665. package/types/src/scripting/IModuleCollection.d.ts.map +1 -0
  666. package/types/src/scripting/IScript.d.ts +289 -0
  667. package/types/src/scripting/IScript.d.ts.map +1 -0
  668. package/types/src/scripting/ITypedFunction.d.ts +61 -0
  669. package/types/src/scripting/ITypedFunction.d.ts.map +1 -0
  670. package/types/src/scripting/MacroFunction.d.ts +15 -0
  671. package/types/src/scripting/MacroFunction.d.ts.map +1 -0
  672. package/types/src/scripting/Module.d.ts +39 -0
  673. package/types/src/scripting/Module.d.ts.map +1 -0
  674. package/types/src/scripting/ModuleCollection.d.ts +56 -0
  675. package/types/src/scripting/ModuleCollection.d.ts.map +1 -0
  676. package/types/src/scripting/Runtime.d.ts +16 -0
  677. package/types/src/scripting/Runtime.d.ts.map +1 -0
  678. package/types/src/scripting/Scripts.d.ts +79 -0
  679. package/types/src/scripting/Scripts.d.ts.map +1 -0
  680. package/types/src/scripting/TypedFunction.d.ts +161 -0
  681. package/types/src/scripting/TypedFunction.d.ts.map +1 -0
  682. package/types/src/scripting/_FunctionIndex.d.ts +111 -0
  683. package/types/src/scripting/_FunctionIndex.d.ts.map +1 -0
  684. package/types/src/scripting/_FunctionMessages.d.ts +6 -0
  685. package/types/src/scripting/_FunctionMessages.d.ts.map +1 -0
  686. package/types/src/scripting/_ModuleUtils.d.ts +5 -0
  687. package/types/src/scripting/_ModuleUtils.d.ts.map +1 -0
  688. package/types/src/scripting/_ScriptUtils.d.ts +18 -0
  689. package/types/src/scripting/_ScriptUtils.d.ts.map +1 -0
  690. package/types/src/scripting/enumManifest.browser.d.ts +9 -0
  691. package/types/src/scripting/enumManifest.browser.d.ts.map +1 -0
  692. package/types/src/scripting/enumManifest.node.d.ts +13 -0
  693. package/types/src/scripting/enumManifest.node.d.ts.map +1 -0
  694. package/types/src/scripting/index.d.ts +4 -0
  695. package/types/src/scripting/index.d.ts.map +1 -0
  696. package/types/src/selection/IRangeSelection.d.ts +307 -0
  697. package/types/src/selection/IRangeSelection.d.ts.map +1 -0
  698. package/types/src/selection/RangeSelection.d.ts +144 -0
  699. package/types/src/selection/RangeSelection.d.ts.map +1 -0
  700. package/types/src/selection/_RangeSelectionUtils.d.ts +32 -0
  701. package/types/src/selection/_RangeSelectionUtils.d.ts.map +1 -0
  702. package/types/src/selection/index.d.ts +2 -0
  703. package/types/src/selection/index.d.ts.map +1 -0
  704. package/types/src/shape/IShape.d.ts +279 -0
  705. package/types/src/shape/IShape.d.ts.map +1 -0
  706. package/types/src/shape/Shape.d.ts +54 -0
  707. package/types/src/shape/Shape.d.ts.map +1 -0
  708. package/types/src/shape/index.d.ts +2 -0
  709. package/types/src/shape/index.d.ts.map +1 -0
  710. package/types/src/sheet/CellRegion.d.ts +106 -0
  711. package/types/src/sheet/CellRegion.d.ts.map +1 -0
  712. package/types/src/sheet/ICellContainerOptions.d.ts +97 -0
  713. package/types/src/sheet/ICellContainerOptions.d.ts.map +1 -0
  714. package/types/src/sheet/ISheet.d.ts +1074 -0
  715. package/types/src/sheet/ISheet.d.ts.map +1 -0
  716. package/types/src/sheet/ISheetCollection.d.ts +70 -0
  717. package/types/src/sheet/ISheetCollection.d.ts.map +1 -0
  718. package/types/src/sheet/NamedCellRange.d.ts +45 -0
  719. package/types/src/sheet/NamedCellRange.d.ts.map +1 -0
  720. package/types/src/sheet/NamedRange.d.ts +30 -0
  721. package/types/src/sheet/NamedRange.d.ts.map +1 -0
  722. package/types/src/sheet/Sheet.d.ts +1068 -0
  723. package/types/src/sheet/Sheet.d.ts.map +1 -0
  724. package/types/src/sheet/SheetCell.d.ts +335 -0
  725. package/types/src/sheet/SheetCell.d.ts.map +1 -0
  726. package/types/src/sheet/SheetCollection.d.ts +18 -0
  727. package/types/src/sheet/SheetCollection.d.ts.map +1 -0
  728. package/types/src/sheet/SheetRange.d.ts +362 -0
  729. package/types/src/sheet/SheetRange.d.ts.map +1 -0
  730. package/types/src/sheet/SheetRanges.d.ts +225 -0
  731. package/types/src/sheet/SheetRanges.d.ts.map +1 -0
  732. package/types/src/sheet/_CopyUtils.d.ts +33 -0
  733. package/types/src/sheet/_CopyUtils.d.ts.map +1 -0
  734. package/types/src/sheet/_InvalidSheetRange.d.ts +70 -0
  735. package/types/src/sheet/_InvalidSheetRange.d.ts.map +1 -0
  736. package/types/src/sheet/_SheetAutoFitUtils.d.ts +18 -0
  737. package/types/src/sheet/_SheetAutoFitUtils.d.ts.map +1 -0
  738. package/types/src/sheet/_SheetCoords.d.ts +54 -0
  739. package/types/src/sheet/_SheetCoords.d.ts.map +1 -0
  740. package/types/src/sheet/_SheetFilterUtils.d.ts +9 -0
  741. package/types/src/sheet/_SheetFilterUtils.d.ts.map +1 -0
  742. package/types/src/sheet/_SheetMessages.d.ts +11 -0
  743. package/types/src/sheet/_SheetMessages.d.ts.map +1 -0
  744. package/types/src/sheet/_SheetMutations.d.ts +137 -0
  745. package/types/src/sheet/_SheetMutations.d.ts.map +1 -0
  746. package/types/src/sheet/_SheetSortUtils.d.ts +9 -0
  747. package/types/src/sheet/_SheetSortUtils.d.ts.map +1 -0
  748. package/types/src/sheet/_SheetStateReader.d.ts +161 -0
  749. package/types/src/sheet/_SheetStateReader.d.ts.map +1 -0
  750. package/types/src/sheet/_SheetStateTypes.d.ts +446 -0
  751. package/types/src/sheet/_SheetStateTypes.d.ts.map +1 -0
  752. package/types/src/sheet/_SheetUtils.d.ts +265 -0
  753. package/types/src/sheet/_SheetUtils.d.ts.map +1 -0
  754. package/types/src/sheet/clipboard/IHTMLParser.d.ts +92 -0
  755. package/types/src/sheet/clipboard/IHTMLParser.d.ts.map +1 -0
  756. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +55 -0
  757. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts.map +1 -0
  758. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +29 -0
  759. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts.map +1 -0
  760. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +46 -0
  761. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts.map +1 -0
  762. package/types/src/sheet/clipboard/_ClipboardUtils.d.ts +10 -0
  763. package/types/src/sheet/clipboard/_ClipboardUtils.d.ts.map +1 -0
  764. package/types/src/sheet/clipboard/index.d.ts +2 -0
  765. package/types/src/sheet/clipboard/index.d.ts.map +1 -0
  766. package/types/src/sheet/index.d.ts +6 -0
  767. package/types/src/sheet/index.d.ts.map +1 -0
  768. package/types/src/sheet/listener/RangesListener.d.ts +32 -0
  769. package/types/src/sheet/listener/RangesListener.d.ts.map +1 -0
  770. package/types/src/sheet/listener/RangesListenerEntry.d.ts +19 -0
  771. package/types/src/sheet/listener/RangesListenerEntry.d.ts.map +1 -0
  772. package/types/src/sheet/listener/index.d.ts +3 -0
  773. package/types/src/sheet/listener/index.d.ts.map +1 -0
  774. package/types/src/sheet/spatial/MergeEntry.d.ts +17 -0
  775. package/types/src/sheet/spatial/MergeEntry.d.ts.map +1 -0
  776. package/types/src/sheet/spatial/index.d.ts +2 -0
  777. package/types/src/sheet/spatial/index.d.ts.map +1 -0
  778. package/types/src/sheet/style/SheetCellStyle.d.ts +540 -0
  779. package/types/src/sheet/style/SheetCellStyle.d.ts.map +1 -0
  780. package/types/src/sheet/style/SheetDirectStyle.d.ts +130 -0
  781. package/types/src/sheet/style/SheetDirectStyle.d.ts.map +1 -0
  782. package/types/src/sheet/style/SheetNamedStyle.d.ts +47 -0
  783. package/types/src/sheet/style/SheetNamedStyle.d.ts.map +1 -0
  784. package/types/src/sheet/style/SheetTableStyle.d.ts +47 -0
  785. package/types/src/sheet/style/SheetTableStyle.d.ts.map +1 -0
  786. package/types/src/sheet/style/UsedRangeSpatialMap.d.ts +80 -0
  787. package/types/src/sheet/style/UsedRangeSpatialMap.d.ts.map +1 -0
  788. package/types/src/sheet/style/_Resolvers.d.ts +41 -0
  789. package/types/src/sheet/style/_Resolvers.d.ts.map +1 -0
  790. package/types/src/sheet/style/_StyleUtils.d.ts +69 -0
  791. package/types/src/sheet/style/_StyleUtils.d.ts.map +1 -0
  792. package/types/src/sheet/style/index.d.ts +1 -0
  793. package/types/src/sheet/style/index.d.ts.map +1 -0
  794. package/types/src/sheetHeader/ISheetHeader.d.ts +217 -0
  795. package/types/src/sheetHeader/ISheetHeader.d.ts.map +1 -0
  796. package/types/src/sheetHeader/SheetCellHeader.d.ts +61 -0
  797. package/types/src/sheetHeader/SheetCellHeader.d.ts.map +1 -0
  798. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +54 -0
  799. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts.map +1 -0
  800. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +46 -0
  801. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts.map +1 -0
  802. package/types/src/sheetHeader/SheetHeader.d.ts +257 -0
  803. package/types/src/sheetHeader/SheetHeader.d.ts.map +1 -0
  804. package/types/src/sheetHeader/_HeaderUtils.d.ts +94 -0
  805. package/types/src/sheetHeader/_HeaderUtils.d.ts.map +1 -0
  806. package/types/src/sheetHeader/_InvalidSheetHeaderRange.d.ts +7 -0
  807. package/types/src/sheetHeader/_InvalidSheetHeaderRange.d.ts.map +1 -0
  808. package/types/src/sheetHeader/index.d.ts +2 -0
  809. package/types/src/sheetHeader/index.d.ts.map +1 -0
  810. package/types/src/sheetProtection/ISheetProtection.d.ts +150 -0
  811. package/types/src/sheetProtection/ISheetProtection.d.ts.map +1 -0
  812. package/types/src/sheetProtection/SheetProtection.d.ts +39 -0
  813. package/types/src/sheetProtection/SheetProtection.d.ts.map +1 -0
  814. package/types/src/sheetProtection/index.d.ts +2 -0
  815. package/types/src/sheetProtection/index.d.ts.map +1 -0
  816. package/types/src/sheetView/ISheetView.d.ts +439 -0
  817. package/types/src/sheetView/ISheetView.d.ts.map +1 -0
  818. package/types/src/sheetView/SheetView.d.ts +113 -0
  819. package/types/src/sheetView/SheetView.d.ts.map +1 -0
  820. package/types/src/sheetView/_SheetViewUtils.d.ts +19 -0
  821. package/types/src/sheetView/_SheetViewUtils.d.ts.map +1 -0
  822. package/types/src/sheetView/index.d.ts +2 -0
  823. package/types/src/sheetView/index.d.ts.map +1 -0
  824. package/types/src/slicer/ISlicer.d.ts +38 -0
  825. package/types/src/slicer/ISlicer.d.ts.map +1 -0
  826. package/types/src/slicer/Slicer.d.ts +41 -0
  827. package/types/src/slicer/Slicer.d.ts.map +1 -0
  828. package/types/src/slicer/index.d.ts +2 -0
  829. package/types/src/slicer/index.d.ts.map +1 -0
  830. package/types/src/sort/ISort.d.ts +318 -0
  831. package/types/src/sort/ISort.d.ts.map +1 -0
  832. package/types/src/sort/Sort.d.ts +48 -0
  833. package/types/src/sort/Sort.d.ts.map +1 -0
  834. package/types/src/sort/_SortUtils.d.ts +12 -0
  835. package/types/src/sort/_SortUtils.d.ts.map +1 -0
  836. package/types/src/sort/index.d.ts +3 -0
  837. package/types/src/sort/index.d.ts.map +1 -0
  838. package/types/src/string/IStringCollection.d.ts +50 -0
  839. package/types/src/string/IStringCollection.d.ts.map +1 -0
  840. package/types/src/string/StringCollection.d.ts +26 -0
  841. package/types/src/string/StringCollection.d.ts.map +1 -0
  842. package/types/src/string/index.d.ts +3 -0
  843. package/types/src/string/index.d.ts.map +1 -0
  844. package/types/src/style/IStyle.d.ts +485 -0
  845. package/types/src/style/IStyle.d.ts.map +1 -0
  846. package/types/src/style/IStyleCollection.d.ts +292 -0
  847. package/types/src/style/IStyleCollection.d.ts.map +1 -0
  848. package/types/src/style/StyleCollection.d.ts +125 -0
  849. package/types/src/style/StyleCollection.d.ts.map +1 -0
  850. package/types/src/style/_BuiltInStyleDefs.d.ts +18 -0
  851. package/types/src/style/_BuiltInStyleDefs.d.ts.map +1 -0
  852. package/types/src/style/_BuiltInStyleNames.d.ts +20 -0
  853. package/types/src/style/_BuiltInStyleNames.d.ts.map +1 -0
  854. package/types/src/style/index.d.ts +5 -0
  855. package/types/src/style/index.d.ts.map +1 -0
  856. package/types/src/table/AnchoredTable.d.ts +349 -0
  857. package/types/src/table/AnchoredTable.d.ts.map +1 -0
  858. package/types/src/table/AutoTable.d.ts +64 -0
  859. package/types/src/table/AutoTable.d.ts.map +1 -0
  860. package/types/src/table/ITable.d.ts +714 -0
  861. package/types/src/table/ITable.d.ts.map +1 -0
  862. package/types/src/table/ITableCollection.d.ts +88 -0
  863. package/types/src/table/ITableCollection.d.ts.map +1 -0
  864. package/types/src/table/ITableStyle.d.ts +318 -0
  865. package/types/src/table/ITableStyle.d.ts.map +1 -0
  866. package/types/src/table/Table.d.ts +8 -0
  867. package/types/src/table/Table.d.ts.map +1 -0
  868. package/types/src/table/TableCollection.d.ts +20 -0
  869. package/types/src/table/TableCollection.d.ts.map +1 -0
  870. package/types/src/table/_AutoTableColumn.d.ts +27 -0
  871. package/types/src/table/_AutoTableColumn.d.ts.map +1 -0
  872. package/types/src/table/_BuiltInTableStyles.d.ts +9 -0
  873. package/types/src/table/_BuiltInTableStyles.d.ts.map +1 -0
  874. package/types/src/table/_FilterField.d.ts +30 -0
  875. package/types/src/table/_FilterField.d.ts.map +1 -0
  876. package/types/src/table/_NamedTable.d.ts +84 -0
  877. package/types/src/table/_NamedTable.d.ts.map +1 -0
  878. package/types/src/table/_NamedTableSource.d.ts +57 -0
  879. package/types/src/table/_NamedTableSource.d.ts.map +1 -0
  880. package/types/src/table/_SortField.d.ts +29 -0
  881. package/types/src/table/_SortField.d.ts.map +1 -0
  882. package/types/src/table/_TableColumn.d.ts +51 -0
  883. package/types/src/table/_TableColumn.d.ts.map +1 -0
  884. package/types/src/table/_TableMessages.d.ts +5 -0
  885. package/types/src/table/_TableMessages.d.ts.map +1 -0
  886. package/types/src/table/_TableUtils.d.ts +94 -0
  887. package/types/src/table/_TableUtils.d.ts.map +1 -0
  888. package/types/src/table/index.d.ts +5 -0
  889. package/types/src/table/index.d.ts.map +1 -0
  890. package/types/src/text/AutoNumberingScheme.d.ts +175 -0
  891. package/types/src/text/AutoNumberingScheme.d.ts.map +1 -0
  892. package/types/src/text/Bullet.d.ts +34 -0
  893. package/types/src/text/Bullet.d.ts.map +1 -0
  894. package/types/src/text/IText.d.ts +53 -0
  895. package/types/src/text/IText.d.ts.map +1 -0
  896. package/types/src/text/ITextFrame.d.ts +313 -0
  897. package/types/src/text/ITextFrame.d.ts.map +1 -0
  898. package/types/src/text/TextBoxAlignment.d.ts +141 -0
  899. package/types/src/text/TextBoxAlignment.d.ts.map +1 -0
  900. package/types/src/text/TextFrame.d.ts +43 -0
  901. package/types/src/text/TextFrame.d.ts.map +1 -0
  902. package/types/src/text/TextLine.d.ts +24 -0
  903. package/types/src/text/TextLine.d.ts.map +1 -0
  904. package/types/src/text/TextParagraph.d.ts +61 -0
  905. package/types/src/text/TextParagraph.d.ts.map +1 -0
  906. package/types/src/text/TextRotation.d.ts +106 -0
  907. package/types/src/text/TextRotation.d.ts.map +1 -0
  908. package/types/src/text/TextRun.d.ts +85 -0
  909. package/types/src/text/TextRun.d.ts.map +1 -0
  910. package/types/src/text/TextUtils.d.ts +165 -0
  911. package/types/src/text/TextUtils.d.ts.map +1 -0
  912. package/types/src/text/TextVisitor.d.ts +11 -0
  913. package/types/src/text/TextVisitor.d.ts.map +1 -0
  914. package/types/src/text/TextWrapper.d.ts +78 -0
  915. package/types/src/text/TextWrapper.d.ts.map +1 -0
  916. package/types/src/text/_TextUtils.d.ts +90 -0
  917. package/types/src/text/_TextUtils.d.ts.map +1 -0
  918. package/types/src/text/impl/Phrase.d.ts +3 -0
  919. package/types/src/text/impl/Phrase.d.ts.map +1 -0
  920. package/types/src/text/impl/TabStrategy.d.ts +9 -0
  921. package/types/src/text/impl/TabStrategy.d.ts.map +1 -0
  922. package/types/src/text/impl/WordWrapUtils.d.ts +6 -0
  923. package/types/src/text/impl/WordWrapUtils.d.ts.map +1 -0
  924. package/types/src/text/index.d.ts +7 -0
  925. package/types/src/text/index.d.ts.map +1 -0
  926. package/types/src/text/richtext/IStyledFont.d.ts +330 -0
  927. package/types/src/text/richtext/IStyledFont.d.ts.map +1 -0
  928. package/types/src/text/richtext/index.d.ts +2 -0
  929. package/types/src/text/richtext/index.d.ts.map +1 -0
  930. package/types/src/theme/ITheme.d.ts +252 -0
  931. package/types/src/theme/ITheme.d.ts.map +1 -0
  932. package/types/src/theme/IThemeCollection.d.ts +84 -0
  933. package/types/src/theme/IThemeCollection.d.ts.map +1 -0
  934. package/types/src/theme/ThemeCollection.d.ts +62 -0
  935. package/types/src/theme/ThemeCollection.d.ts.map +1 -0
  936. package/types/src/theme/_BuiltInColorSchemes.d.ts +3 -0
  937. package/types/src/theme/_BuiltInColorSchemes.d.ts.map +1 -0
  938. package/types/src/theme/_BuiltInFontSchemes.d.ts +3 -0
  939. package/types/src/theme/_BuiltInFontSchemes.d.ts.map +1 -0
  940. package/types/src/theme/_BuiltInThemeDefs.d.ts +3 -0
  941. package/types/src/theme/_BuiltInThemeDefs.d.ts.map +1 -0
  942. package/types/src/theme/_ThemeMessages.d.ts +3 -0
  943. package/types/src/theme/_ThemeMessages.d.ts.map +1 -0
  944. package/types/src/theme/_ThemeUtils.d.ts +3 -0
  945. package/types/src/theme/_ThemeUtils.d.ts.map +1 -0
  946. package/types/src/theme/index.d.ts +4 -0
  947. package/types/src/theme/index.d.ts.map +1 -0
  948. package/types/src/transaction/ITransaction.d.ts +594 -0
  949. package/types/src/transaction/ITransaction.d.ts.map +1 -0
  950. package/types/src/transaction/Transaction.d.ts +184 -0
  951. package/types/src/transaction/Transaction.d.ts.map +1 -0
  952. package/types/src/transaction/TransactionSaveStateManager.d.ts +85 -0
  953. package/types/src/transaction/TransactionSaveStateManager.d.ts.map +1 -0
  954. package/types/src/transaction/TransactionUndoManager.d.ts +60 -0
  955. package/types/src/transaction/TransactionUndoManager.d.ts.map +1 -0
  956. package/types/src/transaction/index.d.ts +5 -0
  957. package/types/src/transaction/index.d.ts.map +1 -0
  958. package/types/src/type/ICollection.d.ts +110 -0
  959. package/types/src/type/ICollection.d.ts.map +1 -0
  960. package/types/src/type/IProperties.d.ts +51 -0
  961. package/types/src/type/IProperties.d.ts.map +1 -0
  962. package/types/src/type/ITypes.d.ts +69 -0
  963. package/types/src/type/ITypes.d.ts.map +1 -0
  964. package/types/src/type/Registry.d.ts +66 -0
  965. package/types/src/type/Registry.d.ts.map +1 -0
  966. package/types/src/type/index.d.ts +5 -0
  967. package/types/src/type/index.d.ts.map +1 -0
  968. package/types/src/utils/GeomUtils.d.ts +61 -0
  969. package/types/src/utils/GeomUtils.d.ts.map +1 -0
  970. package/types/src/utils/ObjectPath.d.ts +9 -0
  971. package/types/src/utils/ObjectPath.d.ts.map +1 -0
  972. package/types/src/utils/Profiler.d.ts +38 -0
  973. package/types/src/utils/Profiler.d.ts.map +1 -0
  974. package/types/src/utils/_CSSUtils.d.ts +156 -0
  975. package/types/src/utils/_CSSUtils.d.ts.map +1 -0
  976. package/types/src/utils/_GeomUtils.d.ts +14 -0
  977. package/types/src/utils/_GeomUtils.d.ts.map +1 -0
  978. package/types/src/utils/_RangeCoordUtils.d.ts +84 -0
  979. package/types/src/utils/_RangeCoordUtils.d.ts.map +1 -0
  980. package/types/src/utils/_RangeSetUtils.d.ts +55 -0
  981. package/types/src/utils/_RangeSetUtils.d.ts.map +1 -0
  982. package/types/src/utils/index.d.ts +2 -0
  983. package/types/src/utils/index.d.ts.map +1 -0
  984. package/types/src/workbook/IWorkbook.d.ts +711 -0
  985. package/types/src/workbook/IWorkbook.d.ts.map +1 -0
  986. package/types/src/workbook/Workbook.d.ts +342 -0
  987. package/types/src/workbook/Workbook.d.ts.map +1 -0
  988. package/types/src/workbook/WorkbookRange.d.ts +25 -0
  989. package/types/src/workbook/WorkbookRange.d.ts.map +1 -0
  990. package/types/src/workbook/WorkbookRanges.d.ts +39 -0
  991. package/types/src/workbook/WorkbookRanges.d.ts.map +1 -0
  992. package/types/src/workbook/_WorkbookMessages.d.ts +8 -0
  993. package/types/src/workbook/_WorkbookMessages.d.ts.map +1 -0
  994. package/types/src/workbook/_WorkbookUtils.d.ts +35 -0
  995. package/types/src/workbook/_WorkbookUtils.d.ts.map +1 -0
  996. package/types/src/workbook/index.d.ts +3 -0
  997. package/types/src/workbook/index.d.ts.map +1 -0
  998. package/types/src/workbookProtection/IWorkbookProtection.d.ts +57 -0
  999. package/types/src/workbookProtection/IWorkbookProtection.d.ts.map +1 -0
  1000. package/types/src/workbookProtection/WorkbookProtection.d.ts +14 -0
  1001. package/types/src/workbookProtection/WorkbookProtection.d.ts.map +1 -0
  1002. package/types/src/workbookProtection/index.d.ts +2 -0
  1003. package/types/src/workbookProtection/index.d.ts.map +1 -0
  1004. package/types/src/workbookView/IWorkbookView.d.ts +134 -0
  1005. package/types/src/workbookView/IWorkbookView.d.ts.map +1 -0
  1006. package/types/src/workbookView/WorkbookView.d.ts +49 -0
  1007. package/types/src/workbookView/WorkbookView.d.ts.map +1 -0
  1008. package/types/src/workbookView/index.d.ts +3 -0
  1009. package/types/src/workbookView/index.d.ts.map +1 -0
  1010. package/browser/cjs/B1wkCHMcDuFkMcC_.cjs +0 -6
  1011. package/browser/cjs/B6GPcN051NmcYcIT.cjs +0 -124
  1012. package/browser/cjs/BLBAZ-Bmj0EAhunn.cjs +0 -6
  1013. package/browser/cjs/BP8dBZEDNeacQUNp.cjs +0 -7
  1014. package/browser/cjs/BhNultME1o9xbmcX.cjs +0 -15
  1015. package/browser/cjs/Bm_Mc6TDFCZ1OJNj.cjs +0 -6
  1016. package/browser/cjs/Bo1CE3hgxUD5DGqu.cjs +0 -6
  1017. package/browser/cjs/Btp8A0kzb6cHSEMD.cjs +0 -6
  1018. package/browser/cjs/BvS2Hclafqxj6DCP.cjs +0 -6
  1019. package/browser/cjs/CASsDxt2bA8JHiEW.cjs +0 -6
  1020. package/browser/cjs/CI7HTC82ehwZZ7G9.cjs +0 -55
  1021. package/browser/cjs/CNw4tHphpF3kplDH.cjs +0 -6
  1022. package/browser/cjs/CO7SAK1ru6qnh7fr.cjs +0 -6
  1023. package/browser/cjs/CdLUUmZCUY5uWnq5.cjs +0 -6
  1024. package/browser/cjs/Cegi9isUAUZKUYFl.cjs +0 -6
  1025. package/browser/cjs/CnlnOI_NWWeETB4i.cjs +0 -6
  1026. package/browser/cjs/CphmaCdyCfgLRsS0.cjs +0 -6
  1027. package/browser/cjs/D0Qme7PcsKfdtShi.cjs +0 -6
  1028. package/browser/cjs/D74bWkyzhU8E2TDh.cjs +0 -6
  1029. package/browser/cjs/DFQA35q7KQ-zS2eo.cjs +0 -6
  1030. package/browser/cjs/DK27kwlwz0N4_IpD.cjs +0 -6
  1031. package/browser/cjs/DMfUZBX5dMS-QcFB.cjs +0 -6
  1032. package/browser/cjs/DTrbxLKRbIsj3mPI.cjs +0 -6
  1033. package/browser/cjs/DUbyVNEdEpgkjI-U.cjs +0 -6
  1034. package/browser/cjs/DUiZ8WcVcUyjfILT.cjs +0 -6
  1035. package/browser/cjs/DzZ_6y4OF7HzFZLT.cjs +0 -6
  1036. package/browser/cjs/vQgVD2EniUvkeXnq.cjs +0 -6
  1037. package/browser/esm/B8depZMfw4f8vJ6H.mjs +0 -10
  1038. package/browser/esm/B9z2sURkI9ThbLxE.mjs +0 -10
  1039. package/browser/esm/BDSqdyFcw4FRrODg.mjs +0 -23823
  1040. package/browser/esm/BLoU0uz84A8fWYom.mjs +0 -10
  1041. package/browser/esm/BgKy-xWSJeSV_EyO.mjs +0 -10
  1042. package/browser/esm/Bi2_8iLEY_M-v_34.mjs +0 -10
  1043. package/browser/esm/Bzs_r45vqhZAtTZK.mjs +0 -10
  1044. package/browser/esm/C39Yfk__mPOF8auo.mjs +0 -10
  1045. package/browser/esm/C4EnSMaP8fTEJmhu.mjs +0 -10
  1046. package/browser/esm/CWj2Ts01muSR6zp-.mjs +0 -12
  1047. package/browser/esm/Cd2b3Z4DxOR0M3qa.mjs +0 -4022
  1048. package/browser/esm/Cg7YNnt2uhmFG_3d.mjs +0 -10
  1049. package/browser/esm/CkU9J_RtpNfpxh0y.mjs +0 -10
  1050. package/browser/esm/D0Mb17_7UFEFNmkU.mjs +0 -426
  1051. package/browser/esm/D6VvBNUOfq8QUBY5.mjs +0 -10
  1052. package/browser/esm/DE0iHIHhP7sczC_y.mjs +0 -10
  1053. package/browser/esm/DORXFXgRUsjkR1kA.mjs +0 -10
  1054. package/browser/esm/DTPLUnlOvF2feqR4.mjs +0 -10
  1055. package/browser/esm/DTzUiMAnLD_Zuf0f.mjs +0 -10
  1056. package/browser/esm/D_lQo-PErOoj-8tN.mjs +0 -10
  1057. package/browser/esm/DbK0GAKpj9hwwFwY.mjs +0 -10
  1058. package/browser/esm/DflesN5VzS43jsHK.mjs +0 -5653
  1059. package/browser/esm/DoMqoQP6F7OPue_g.mjs +0 -10
  1060. package/browser/esm/DrIkV6ixO7gbuv7Q.mjs +0 -10
  1061. package/browser/esm/mxYovIi79sCzcZtQ.mjs +0 -10
  1062. package/browser/esm/oRsIla0R_H7slM9k.mjs +0 -10
  1063. package/browser/esm/u5XTTNCFdsbCZ-ud.mjs +0 -10
  1064. package/node/esm/3vOMW8PI4UI73pTa.mjs +0 -10
  1065. package/node/esm/B9z2sURkI9ThbLxE.mjs +0 -10
  1066. package/node/esm/BE2XMKirjoBI9zkt.mjs +0 -1072
  1067. package/node/esm/BL_7m0SH43tASZc8.mjs +0 -10
  1068. package/node/esm/BLoU0uz84A8fWYom.mjs +0 -10
  1069. package/node/esm/BNoPG6CBaybfp_G7.mjs +0 -10
  1070. package/node/esm/BgKy-xWSJeSV_EyO.mjs +0 -10
  1071. package/node/esm/Bi2_8iLEY_M-v_34.mjs +0 -10
  1072. package/node/esm/C4EnSMaP8fTEJmhu.mjs +0 -10
  1073. package/node/esm/CS080xy3HgmgAFgx.mjs +0 -10
  1074. package/node/esm/Cg7YNnt2uhmFG_3d.mjs +0 -10
  1075. package/node/esm/D6VvBNUOfq8QUBY5.mjs +0 -10
  1076. package/node/esm/D7cm1_99nK7c_-6L.mjs +0 -13
  1077. package/node/esm/DE0iHIHhP7sczC_y.mjs +0 -10
  1078. package/node/esm/DElHitSTYjDdkUx1.mjs +0 -10
  1079. package/node/esm/DORXFXgRUsjkR1kA.mjs +0 -10
  1080. package/node/esm/DP7a0Jrz8vTZnv2W.mjs +0 -10
  1081. package/node/esm/DTzUiMAnLD_Zuf0f.mjs +0 -10
  1082. package/node/esm/D_lQo-PErOoj-8tN.mjs +0 -10
  1083. package/node/esm/DbK0GAKpj9hwwFwY.mjs +0 -10
  1084. package/node/esm/DoMqoQP6F7OPue_g.mjs +0 -10
  1085. package/node/esm/mxYovIi79sCzcZtQ.mjs +0 -10
  1086. package/node/esm/oRsIla0R_H7slM9k.mjs +0 -10
  1087. package/node/esm/sVuz1UjytOtK5gck.mjs +0 -2458
  1088. package/node/esm/u5XTTNCFdsbCZ-ud.mjs +0 -10
@@ -0,0 +1,2509 @@
1
+ import { FormulaError, IRange, Scalar, InteropScalar, IRangeStats } from '@sheetxl/primitives';
2
+ import { Bounds, ReferenceableClipboard } from '@sheetxl/utils';
3
+ import { ITypes } from '../type';
4
+ import { IListener } from '../listener';
5
+ import { ITransaction } from '../transaction';
6
+ import { IHyperlink } from '../hyperlink';
7
+ import { IComment } from '../comment';
8
+ import { ISort } from '../sort';
9
+ import { ICondition } from '../condition';
10
+ import { IAutoFill } from '../autoFill';
11
+ import { IStyle } from '../style';
12
+ import { ICalculation } from '../calculation';
13
+ import { ITable, ITableCollection } from '../table';
14
+ import { IMovable, IMovableCollection } from '../movable';
15
+ import { IDataValidation, IDataValidationCollection } from '../dataValidation';
16
+ import { IConditionalFormat } from '../conditionalFormat/IConditionalFormat';
17
+ import { IConditionalFormatCollection } from '../conditionalFormat/IConditionalFormatCollection';
18
+ import { ISheet } from '../sheet';
19
+ import { ICell } from '../cell';
20
+ import { ICellRanges } from './ICellRanges';
21
+ import { ICellRegions } from './ICellRegion';
22
+ import { ICellHeaderRange } from './ICellHeaderRange';
23
+ /**
24
+ * A {@link ICellRange} represents a rectangular collection of {@link ICell} within an {@link ISheet}.
25
+ *
26
+ * **Naming Conventions:** Methods usually adhere to the following conventions except
27
+ * when adhering to a idiomatic existing conventions of Typescript (for example `size` or 'length'):
28
+ *
29
+ * - Methods returning information about the range (e.g., width, count) use a `get` prefix.
30
+ * - Methods that transform the range's data into a different type use a `to` prefix (e.g., `toArray()`).
31
+ */
32
+ export interface ICellRange {
33
+ /**
34
+ * Returns an immutable {@link IRange} snapshot of the cell range's current values.
35
+ *
36
+ * @remarks
37
+ * `IRange` is SheetXL's stateless value computation layer — it has no knowledge of
38
+ * the sheet, and the same logic runs identically in a browser, Node.js, or a Web Worker.
39
+ *
40
+ * This is the bridge between the live sheet (`ICellRange`) and pure value computation (`IRange`):
41
+ * - Pass the result to {@link setValues} or {@link setComputedValues} to write back to the sheet.
42
+ * - Use directly with formula functions and UDFs, which only operate on `IRange`.
43
+ *
44
+ * @see {@link https://www.sheetxl.com/docs/guides/concepts/two-ranges | ICellRange and IRange} for a full guide.
45
+ */
46
+ getValuesRange(): IRange;
47
+ /**
48
+ * Applies a transformation to the cell range's values and writes the result back to the sheet.
49
+ *
50
+ * @remarks
51
+ * Convenience wrapper around {@link getValuesRange} and {@link setValues}:
52
+ * ```ts
53
+ * setComputedValues(fn) ≡ this.setValues(fn(this.getValuesRange()))
54
+ * ```
55
+ * The callback receives the current values as an immutable {@link IRange},
56
+ * and the returned `IRange` is written back to the sheet.
57
+ *
58
+ * @param callback - A pure function that transforms the cell range's `IRange`.
59
+ *
60
+ * @see {@link https://www.sheetxl.com/docs/guides/concepts/two-ranges | ICellRange and IRange}
61
+ */
62
+ setComputedValues(callback: (range: IRange) => IRange, options?: ITransaction.OperationOptions): this;
63
+ /**
64
+ * Return an array of coords for all merges.
65
+ *
66
+ * * @returns An array of 'IRange.Coords` that contain merges.
67
+ */
68
+ getMerges(): IRange.Coords[];
69
+ /**
70
+ * Returns the {@link IConditionalFormat}s that overlap the range.
71
+ *
72
+ * @param options The filters of {@link IConditionalFormatCollection.getItems} without `address` —
73
+ * this range is the address.
74
+ *
75
+ * @remarks
76
+ * **Overlap, not containment.** A format anchored to `A1:D10` is returned for a query on `B2`;
77
+ * pass `fullyContained` for the stricter question.
78
+ *
79
+ * The items are the sheet's — this is a scoped view of
80
+ * `getSheet().getConditionalFormats()`, not a copy — and each appears **once**, however many of
81
+ * its ranges the query hit. The range only says *which* items; ask an item where it lives with
82
+ * {@link IConditionalFormat.getRanges}.
83
+ */
84
+ getConditionalFormats(options?: ICellRange.GetItemsOptions<IConditionalFormatCollection.GetItemsOptions>): IConditionalFormat[];
85
+ /**
86
+ * Returns the {@link IDataValidation}s that overlap the range.
87
+ *
88
+ * @param options The filters of {@link IDataValidationCollection.getItems} without `address` —
89
+ * this range is the address.
90
+ *
91
+ * @remarks
92
+ * **Plural, unlike Excel.** A cell carries at most one validation there, so Excel's range accessor
93
+ * is singular; here a range may overlap any number of independently anchored validations.
94
+ *
95
+ * See {@link getConditionalFormats} for the overlap and one-entry-per-item rules, which are the
96
+ * same for every ranged item lookup.
97
+ */
98
+ getDataValidations(options?: ICellRange.GetItemsOptions<IDataValidationCollection.GetItemsOptions>): IDataValidation[];
99
+ /**
100
+ * Returns the {@link ITable}s that overlap the range.
101
+ *
102
+ * @param options The filters of {@link ITableCollection.getItems} without `address` — this range
103
+ * is the address.
104
+ *
105
+ * @remarks
106
+ * Overlap, not containment — a range clipping one corner of a table returns it. Pass
107
+ * `fullyContained` to ask only for tables the range wholly encloses.
108
+ */
109
+ getTables(options?: ICellRange.GetItemsOptions<ITableCollection.GetItemsOptions>): ITable[];
110
+ /**
111
+ * Returns the {@link IMovable}s anchored over the range.
112
+ *
113
+ * @param options The filters of {@link IMovableCollection.getItems} without `address` — this
114
+ * range is the address.
115
+ *
116
+ * @remarks
117
+ * A movable is anchored to cells but sized in pixels, so what it overlaps is its **anchor**, not
118
+ * the pixels it paints.
119
+ */
120
+ getMovables(options?: ICellRange.GetItemsOptions<IMovableCollection.GetItemsOptions>): IMovable[];
121
+ /**
122
+ * Returns a cell in the range.
123
+ *
124
+ * @param address The address of the cell to retrieve. This must be within the range bounds. Default Value the 'top left'
125
+ *
126
+ * @see
127
+ * {@link ICellRange.getCells}
128
+ */
129
+ getCell(address?: ICell.Address): ICell;
130
+ /**
131
+ * Return a 2D array of {@link ICell | cells} in the shape of the range.
132
+ *
133
+ * @returns A 2D array of {@link ICell}s.
134
+ *
135
+ * @remarks
136
+ * * Empty values will be `null`.
137
+ * * {@link ICellRange.GetValuesOptions.asInteropValues} is ignored; use {@link ICell.getInteropValue()} when working with {@link ICell}.
138
+ */
139
+ getCells(options?: ICellRange.GetValuesOptions): ICell[][];
140
+ /**
141
+ * Returns the value for the top left `Scalar`.
142
+ *
143
+ * @remarks
144
+ * The `ignoreHidden` option is ignored.
145
+ *
146
+ * @see
147
+ * {@link ICellRange.getValues}
148
+ */
149
+ getValue(): Scalar;
150
+ /**
151
+ * Returns the value for the top left `InteropScalar`.
152
+ *
153
+ * @remarks
154
+ * The `ignoreHidden` option is ignored.
155
+ *
156
+ * @see
157
+ * {@link ICellRange.getValues}
158
+ */
159
+ getInteropValue(): InteropScalar;
160
+ /**
161
+ * Returns the style for the range.
162
+ *
163
+ * @remarks
164
+ * When querying the style the values will always be for the top left. However the
165
+ * set values work for the entire range.
166
+ */
167
+ getStyle(): IStyle;
168
+ /**
169
+ * Returns the formula for the range.
170
+ *
171
+ * @param address The address of the cell to retrieve the formula for. Default value is the 'top left' cell of the range.
172
+ *
173
+ * @remarks
174
+ * When querying the formula this will always be for the top left. However the
175
+ * set values work for the entire range.
176
+ */
177
+ getFormula(address?: ICell.Address): ICalculation.IFormula;
178
+ /**
179
+ * Parses a formula expression and returns a *transient* formula object anchored at this range's
180
+ * top-left cell.
181
+ *
182
+ * @param expression The formula expression to parse.
183
+ *
184
+ * @remarks
185
+ * The anchored convenience form: equivalent to
186
+ * `getSheet().createFormula(expression, topLeftCoords)`, where the anchor is this
187
+ * range's top-left cell. Nothing is committed — the formula is not registered in the workbook
188
+ * or the dependency graph.
189
+ *
190
+ * Two behaviors follow from the sheet form (see {@link ISheet.createFormula}):
191
+ *
192
+ * - A bare reference (`A2`) resolves against THIS range's sheet, never the selected one.
193
+ * - Relative references resolve **relative to the anchor cell**, so the expression reads
194
+ * exactly as it would if it were authored here.
195
+ *
196
+ * @see {@link ISheet.createFormula}
197
+ * @see {@link ICalculation.createFormula}
198
+ */
199
+ createFormula(expression: string): ICalculation.IFormula;
200
+ /**
201
+ * Returns the intersection of the current range and the specified range.
202
+ *
203
+ * @param address The address of the other range to intersect with..
204
+ * @returns `ICellRange` at the intersection of the two ranges, or `null` if there's no overlap.
205
+ */
206
+ getIntersect(address?: ICellRange.Address, options?: ICellRange.GetRangeOptions): this | null;
207
+ /**
208
+ * Returns the union of the current range with the specified range.
209
+ *
210
+ * @param address The address of the other range to intersect with.
211
+ * @returns `ICellRange` at the union of the two ranges.
212
+ */
213
+ getUnion(address?: ICellRange.Address, options?: ICellRange.GetRangeOptions): this;
214
+ /**
215
+ * Returns a set of non-overlapping ranges the represents the difference between the current
216
+ * range and the specified range.
217
+ *
218
+ * @param address The address of the range to subtract from the current range.
219
+ * @returns `ICellRanges` containing the resulting non-overlapping ranges,
220
+ * or `null` if:
221
+ * - There is no intersection between the current range and the specified address.
222
+ * - The specified address is the same as or encompasses the current range.
223
+ *
224
+ * @remarks
225
+ * - The method will always return between 0 and 4 ranges.
226
+ * - If there's no intersection, it returns an `ICellRanges` containing only the current range.
227
+ */
228
+ getDifferences(address: ICellRange.Address, options?: ICellRange.GetRangeOptions): ICellRanges | null;
229
+ /**
230
+ * Returns a range that includes the columns for the entire sheet.
231
+ * For example, if the range is `A1:B2`, this method will return `A:B`.
232
+ *
233
+ * @param shift If `true` this will also shift the columns by the width of the range. default `false`.
234
+ * @returns `ICellRange` at the repositioned range.
235
+ */
236
+ getEntireColumns(shift?: boolean, options?: ICellRange.GetRangeOptions): this;
237
+ /**
238
+ * Returns a range that includes the rows for the entire sheet.
239
+ * For example, if the range is `A1:B2`, this method will return `1:2`.
240
+ *
241
+ * @param shift If `true` this will also shift the rows by the height of the range. default `false`.
242
+ * @returns `ICellRange` at the repositioned range.
243
+ */
244
+ getEntireRows(shift?: boolean, options?: ICellRange.GetRangeOptions): this;
245
+ /**
246
+ * Returns a range that includes the current range up to a content edge boundary.
247
+ *
248
+ * @param direction The direction.
249
+ * @param cell The cell to use as a starting point.
250
+ * If not provide the cell closest to the edge will be used.
251
+ * @returns `ICellRange` extended in the given direction.
252
+ */
253
+ getExtended(direction: IRange.Direction, cell?: ICell.Address): this;
254
+ /**
255
+ * Returns a range with coordinates adjusted to be fixed (absolute) or flexible (relative).
256
+ *
257
+ * @param options Either a {@link ICellRange.GetFixedOptions} object to
258
+ * specify individual coordinate settings, or a `boolean`
259
+ * to adjust all coordinates at once. If a `boolean` is provided:
260
+ * - `true` sets all coordinates to absolute.
261
+ * - `false` sets all coordinates to relative.
262
+ * @returns `ICellRange` with updated coordinate references types.
263
+ *
264
+ * @remarks
265
+ * If no `options` are provided, this method toggles the fixed flags for the range's coordinates
266
+ * based on their current settings. Calling this repeatedly will cycle between relative and absolute references.
267
+ * For example: `A1` → `$A$1` → `A$1` → `$A1` → `A1`
268
+ */
269
+ getFixed(options?: ICellRange.GetFixedOptions | boolean): this;
270
+ /**
271
+ * Returns a 1×1 cell or an explicit range at the specified **absolute** sheet coordinates.
272
+ *
273
+ * @param rowStart The absolute row index (0-based, inclusive). Must be ≥ 0.
274
+ * @param colStart The absolute column index (0-based, inclusive). Must be ≥ 0.
275
+ * @param rowEnd The absolute ending row index (inclusive). If not provided, defaults to `rowStart` (1×1 cell).
276
+ * @param colEnd The absolute ending column index (inclusive). If not provided, defaults to `columnStart` (1×1 cell).
277
+ * @returns `ICellRange` at the specified coordinates.
278
+ *
279
+ * @remarks
280
+ * All indices are **absolute** — they are used directly as sheet coordinates and are not
281
+ * relative to the current range. Negative indices are not supported.
282
+ *
283
+ * When only `rowStart` and `columnStart` are supplied the result is always a single cell (1×1),
284
+ * regardless of the current range's shape. Use {@link getOffsetTo} to move the top-left corner
285
+ * while preserving the original dimensions.
286
+ */
287
+ getRangeAt(rowStart: number, colStart: number, rowEnd?: number, colEnd?: number, options?: ICellRange.GetRangeOptions): this;
288
+ /**
289
+ * Returns the row at the specified **absolute** row index, retaining the current column span.
290
+ *
291
+ * @param rowIndex The absolute row index (0-based). Must be ≥ 0. Not relative to the current range.
292
+ * @returns `ICellRange` with a row height of 1 and the original column width.
293
+ */
294
+ getRowAt(rowIndex: number, options?: ICellRange.GetRangeOptions): this;
295
+ /**
296
+ * Returns the row after the current range.
297
+ *
298
+ * @returns `ICellRange` with the top-left corner immediately after the current range.
299
+ *
300
+ * @remarks
301
+ * This will return a range with a row height of 1 but the original column width.
302
+ */
303
+ getRowAfter(options?: ICellRange.GetRangeOptions): this;
304
+ /**
305
+ * Returns the row before the current range.
306
+ *
307
+ * @returns `ICellRange` with the top-left corner immediately before the current range.
308
+ *
309
+ * @remarks
310
+ * This will return a range with a row height of 1 but the original column width.
311
+ */
312
+ getRowBefore(options?: ICellRange.GetRangeOptions): this;
313
+ /**
314
+ * Returns the row at the specified delta relative to the **start** of the current range,
315
+ * retaining the current column span.
316
+ *
317
+ * @param rowDelta Number of rows to move from `rowStart`. Positive moves down; negative moves up.
318
+ * @returns `ICellRange` with a row height of 1 and the original column width.
319
+ *
320
+ * @remarks
321
+ * `getRowBy(0)` is equivalent to `getRowAt(rowStart)` — the first row of the current range.
322
+ * To advance past the end of the range, use {@link getRowAfter} instead.
323
+ */
324
+ getRowBy(rowDelta: number, options?: ICellRange.GetRangeOptions): this;
325
+ /**
326
+ * Returns the header range for the rows.
327
+ *
328
+ * @returns `ICellHeaderRange` for the rows.
329
+ */
330
+ getRowHeaders(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRange;
331
+ /**
332
+ * Returns the column at the specified **absolute** column index, retaining the current row span.
333
+ *
334
+ * @param columnIndex The absolute column index (0-based). Must be ≥ 0. Not relative to the current range.
335
+ * @returns `ICellRange` with a column width of 1 and the original row height.
336
+ */
337
+ getColumnAt(columnIndex: number, options?: ICellRange.GetRangeOptions): this;
338
+ /**
339
+ * Returns the column after the current range.
340
+ *
341
+ * @returns `ICellRange` with the top-left corner immediately after the current range.
342
+ *
343
+ * @remarks
344
+ * This will return a range with a column width of 1 but the original row height.
345
+ */
346
+ getColumnAfter(options?: ICellRange.GetRangeOptions): this;
347
+ /**
348
+ * Returns the column before the current range.
349
+ *
350
+ * @returns `ICellRange` with the top-left corner immediately before the current range.
351
+ *
352
+ * @remarks
353
+ * This will return a range with a column width of 1 but the original row height.
354
+ */
355
+ getColumnBefore(options?: ICellRange.GetRangeOptions): this;
356
+ /**
357
+ * Returns the column at the specified delta relative to the **start** of the current range,
358
+ * retaining the current row span.
359
+ *
360
+ * @param columnDelta Number of columns to move from `columnStart`. Positive moves right; negative moves left.
361
+ * @returns `ICellRange` with a column width of 1 and the original row height.
362
+ *
363
+ * @remarks
364
+ * `getColumnBy(0)` is equivalent to `getColumnAt(columnStart)` — the first column of the current range.
365
+ * To advance past the end of the range, use {@link getColumnAfter} instead.
366
+ */
367
+ getColumnBy(columnDelta: number, options?: ICellRange.GetRangeOptions): this;
368
+ /**
369
+ * Returns the header range for the columns.
370
+ *
371
+ * @returns `ICellHeaderRange` for the columns.
372
+ */
373
+ getColumnHeaders(options?: ICellHeaderRange.GetRangeOptions): ICellHeaderRange;
374
+ /**
375
+ * Returns the top-left corner of the range.
376
+ *
377
+ * @returns 1×1 `ICellRange` at the top-left corner.
378
+ */
379
+ getTopLeft(options?: ICellRange.GetRangeOptions): this;
380
+ /**
381
+ * Returns the bottom-right corner of the range.
382
+ */
383
+ getBottomRight(options?: ICellRange.GetRangeOptions): this;
384
+ /**
385
+ * Returns a range with the top-left corner moved by the specified row and column offsets.
386
+ *
387
+ * @param rowDelta The number of rows to move the top-left corner up (negative) or down (positive).
388
+ * @param colDelta The number of columns to move the top-left corner left (negative) or right (positive).
389
+ * @returns `ICellRange` at the repositioned range.
390
+ */
391
+ getOffsetBy(rowDelta: number, colDelta: number, options?: ICellRange.GetRangeOptions): this;
392
+ /**
393
+ * Returns a range repositioned to the specified starting row and column indices.
394
+ *
395
+ * @param rowStart The new starting row index (inclusive).
396
+ * @param colStart The new starting column index (inclusive).
397
+ * @returns `ICellRange` at the repositioned range.
398
+ */
399
+ getOffsetTo(rowStart: number, colStart: number, options?: ICellRange.GetRangeOptions): this;
400
+ /**
401
+ * Returns a range with the bottom-right corner moved by the specified row and column offsets.
402
+ *
403
+ * @param rowDelta The number of rows to move the bottom-right corner up (negative) or down (positive).
404
+ * @param colDelta The number of columns to move the bottom-right corner left (negative) or right (positive).
405
+ * @returns `ICellRange` with the resized range.
406
+ */
407
+ getResizeBy(rowDelta: number, colDelta: number, options?: ICellRange.GetRangeOptions): this;
408
+ /**
409
+ * Resizes the current range to the specified ending row and column indices.
410
+ *
411
+ * @param rowEnd The new ending row index (inclusive).
412
+ * @param colEnd The new ending column index (inclusive).
413
+ * @returns `ICellRange` with the resized range.
414
+ */
415
+ getResizeTo(rowEnd: number, colEnd: number, options?: ICellRange.GetRangeOptions): this;
416
+ /**
417
+ * Returns a range with surrounding data or the entire range if there is no data nearby.
418
+ *
419
+ * @returns `ICellRange` containing either nearby content or the entire range.
420
+ */
421
+ getSurrounding(options?: ICellRange.GetSurroundingOptions): this;
422
+ /**
423
+ * Returns the smallest range within the range that contains any used cells.
424
+ *
425
+ * @returns `ICellRange` that contains the smallest range with used cells, or `null` if the range is empty.
426
+ *
427
+ * @remarks
428
+ * This method returns the range of cells that have been "used," which includes cells with data,
429
+ * as well as certain types of formatting or styling. It focuses on cells that have been interacted with
430
+ * in some form, whether through data entry or other modifications. Merged cells and overflow values
431
+ * may not always be included in this range.
432
+ *
433
+ * Narrow what counts as used with {@link GetRangeOptions.features}: cells with values always
434
+ * count, and each listed feature widens the extent beyond them — so `features: []` is the
435
+ * values-only fast path (no feature index is consulted) and `['merge']` is values plus merged
436
+ * spans. The selection is sticky: the returned range carries it.
437
+ */
438
+ getUsedRange(options?: ICellRange.GetRangeOptions): this | null;
439
+ /**
440
+ * Returns a range that excludes any hidden rows or columns.
441
+ *
442
+ * @param options Optional parameters that can adjust how visibility is determined (e.g., by ignoring specific visibility rules).
443
+ * @returns An `ICellRanges` object that contains the visible portions of the range, excluding any hidden rows or columns.
444
+ *
445
+ * @remarks
446
+ * - If all ranges within the original selection are visible, this method returns an `ICellRanges` object with a single range and a length of `1`.
447
+ * - If the entire range is hidden, the method will return `null`.
448
+ * - The resulting ranges reflect the currently visible state of the sheet, including hidden rows, columns, or headers.
449
+ */
450
+ getVisible(options?: ICellRange.GetVisibleOptions): ICellRanges | null;
451
+ /**
452
+ * Returns the default shift {@link IRange.Axis} for {@link insert} and {@link delete}
453
+ * if no axis is provided.
454
+ *
455
+ * @returns Default `IRange.Axis` that will be used to shift the range.
456
+ *
457
+ * @remarks
458
+ * By default the direction of the shift will be the direction that shifts the fewest cells. If
459
+ * the range is the same size in both directions `IRange.Axis.Row` will be used.
460
+ *
461
+ * For example, a range with 5 columns and 1 row will have a default axis of `IRange.Axis.Row`.
462
+ */
463
+ getDefaultShiftAxis(): IRange.Axis;
464
+ /**
465
+ * Returns a default sort that would be used if no overrides where provided.
466
+ *
467
+ * @param axis The axis to sort. Default Value `IRange.Axis.Row`.
468
+ * @param cell A cell location that can be used to determine the sort column.
469
+ * @returns Default `ISort.DefaultSortCriteria` or `null` if there is not valid sort criteria.
470
+ *
471
+ * @remarks
472
+ * Useful for displaying options to the ui. The default behavior will look for headers and
473
+ * merges.
474
+ */
475
+ getDefaultSortCriteria(axis?: IRange.Axis, cell?: ICell.Address): ISort.DefaultSortCriteria | null;
476
+ /**
477
+ * Returns the ranges immediately referenced by the formulas in this range.
478
+ *
479
+ * @remarks
480
+ * The range form of {@link ICell.getDirectPrecedents}: the union over every cell, one call
481
+ * rather than a fan-out — the calculation graph is indexed by range, so the cell form is this
482
+ * one over a 1×1.
483
+ *
484
+ * - Returns `null` when there are none.
485
+ * - **Not filtered against the range itself.** A block containing both a formula and its input
486
+ * lists that input; "what does this block read" and "what does it read from outside" are
487
+ * different questions, and the second is {@link getDifferences} away.
488
+ */
489
+ getDirectPrecedents(): ICellRanges | null;
490
+ /**
491
+ * Returns the cells that directly reference any cell in this range.
492
+ *
493
+ * @remarks
494
+ * The range form of {@link ICell.getDirectDependents} — the immediate consumers of anything
495
+ * this range produces. Returns `null` when there are none.
496
+ */
497
+ getDirectDependents(): ICellRanges | null;
498
+ /**
499
+ * Returns all ranges contributing to this range's values, through the full calculation chain.
500
+ *
501
+ * @remarks
502
+ * The range form of {@link ICell.getPrecedents}: a recursive walk upstream to the root data
503
+ * sources. Returns `null` when there are none.
504
+ *
505
+ * **Reach for this before editing.** The precedents of a block are what its values depend on,
506
+ * so they are what a change to it can be wrong about.
507
+ */
508
+ getPrecedents(): ICellRanges | null;
509
+ /**
510
+ * Returns all cells eventually affected by this range, through the full calculation chain.
511
+ *
512
+ * @remarks
513
+ * The range form of {@link ICell.getDependents}: a recursive walk downstream giving the total
514
+ * blast radius of a write here. Returns `null` when there are none.
515
+ */
516
+ getDependents(): ICellRanges | null;
517
+ /**
518
+ * Returns the statistics for the range.
519
+ *
520
+ * @param options Iterator options the stats are created with — most usefully
521
+ * `{ onError: 'ignore' }` so aggregate reads degrade instead of faulting on error values.
522
+ * The same override is available per-call on {@link IRangeStats.getAggregates}.
523
+ * `{ ignoreHidden: true }` measures only what the sheet is showing.
524
+ *
525
+ * @remarks
526
+ * **`getStats` answers "what are the values like"; {@link getCounts} answers "how much of
527
+ * each feature is here".** Value analysis (visits values) vs feature occupancy (reads the
528
+ * indexes) — they do not overlap.
529
+ */
530
+ getStats(options?: ICellRange.GetStatsOptions): IRangeStats;
531
+ /**
532
+ * Returns a count for of values.
533
+ *
534
+ * @deprecated Use `getStats`.
535
+ */
536
+ getCount(): number;
537
+ /**
538
+ * Returns per-feature cell counts for the range.
539
+ *
540
+ * @param features The features to count. Defaults to **all** public features — counting is
541
+ * the discovery call.
542
+ *
543
+ * @remarks
544
+ * **`getCounts` answers "how much of each feature is here"; {@link getStats} answers "what
545
+ * are the values like".** Feature occupancy vs value analysis — they do not overlap.
546
+ *
547
+ * - Every public {@link ICellRange.Feature} appears as a key; features not requested, or not
548
+ * present, are an explicit `0` — the shape is stable and self-describing, never `null`.
549
+ * - Each feature is counted **independently**. `getCounts([Fill, Border])` is two numbers,
550
+ * not the count of their refined intersection — the refined count *is* `getRegions`.
551
+ * - Counts are cells, never regions: a region count would either disagree with the partition
552
+ * `getRegions` returns or cost as much as computing it.
553
+ */
554
+ getCounts(features?: ICellRange.Feature | readonly ICellRange.Feature[]): ICellRange.Counts;
555
+ /**
556
+ * Returns the uniform regions for the requested features within the range.
557
+ *
558
+ * @param features The features to partition by. Defaults to `['Contentful']` — **never all**;
559
+ * combining features refines the partition (a cross-product), so all-features is the
560
+ * maximum-fragmentation call. Query one feature at a time; combine only when the relationship
561
+ * between features is the question.
562
+ * @param options {@link ICellRange.GetRegionsOptions}
563
+ *
564
+ * @remarks
565
+ * **A region answers *where*, not *what*.** It carries its address, its shape and the features
566
+ * it was partitioned by, and it bridges to the objects that answer reads:
567
+ * {@link ICellRegion.getCell} (the anchor — whose read IS the region's payload, since a region
568
+ * is uniform by construction) and {@link ICellRegion.getRange} (the block). Reading is a
569
+ * different verb on a different object, and the hop is the point — it is what keeps a
570
+ * discovery result from answering a question it was never asked.
571
+ *
572
+ * - **`getRegions` combines features into one partition; {@link getCounts} counts each
573
+ * feature separately.** The refined count is this method; the cheap discovery is that one.
574
+ * - **A count is presence; a partition is payload identity.** `getCounts(Fill)` counts the
575
+ * cells that have a fill and `getRegions(Fill)` splits them by color; `getCounts(Formula)`
576
+ * counts formula cells and `getRegions(Formula)` splits them by authored R1C1 — so a filled
577
+ * block is ONE region and the value pasted over the middle of it is a hole. The rule holds
578
+ * for every feature.
579
+ * - Regions are maximal **rectangles**, never runs: a block filled down *and* across is one
580
+ * region, not one per column.
581
+ * - Regions carrying none of the requested features are elided — the yielded regions are the
582
+ * feature-bearing side of the partition.
583
+ * - **Nothing is computed until the result is iterated or counted.** The returned
584
+ * {@link ICellRegions} is a lazily backed handle, so building the query costs nothing.
585
+ * - **`Contentful` regions are maximal rectangles.** Every other feature's stored blocks stand
586
+ * for a payload two adjacent blocks can disagree about — a fill's color, a formula's
587
+ * expression — so distinct blocks stay distinct or the region stops being uniform. Occupancy
588
+ * is a boolean: any two occupied rectangles agree, so its blocks carry no information and are
589
+ * coalesced. A solid `A1:D4` is one region, not the four column strips it is stored as.
590
+ * Refinement is unaffected — `[Contentful, Fill]` still partitions by fill and still excludes
591
+ * unoccupied cells.
592
+ * - Every {@link Feature} partitions — there is no throwing member left. `DateFormat` splits by
593
+ * format string, the same way `Fill` splits by color; `Error` splits by error value, backed
594
+ * by the reconciled error index. Scalar kinds (`String`/`Number`/`Boolean`) are not in this
595
+ * vocabulary at all — see {@link Feature}'s own remarks for where they went.
596
+ */
597
+ getRegions(features?: ICellRange.Feature | readonly ICellRange.Feature[], options?: ICellRange.GetRegionsOptions): ICellRegions;
598
+ /**
599
+ * Returns a 2D array of {@link Scalar | values} in the shape of the range.
600
+ *
601
+ * @param options -
602
+ * - `asJSDate` Return dates as Javascript dates instead of SerialDates but is slower due to need to create dates.
603
+ * - `maxSize` Limit the size of the results. defaultValue `10000`.
604
+ *
605
+ * @returns A 2D array of values.
606
+ *
607
+ * @remarks
608
+ * * Empty values will be `null`.
609
+ */
610
+ getValues(options?: ICellRange.GetValuesOptions): Scalar[][];
611
+ /**
612
+ * Returns a 2D array of {@link InteropScalar | values} in the shape of the range.
613
+ *
614
+ * @see {@link ICellRange.getValues} for options and remarks.
615
+ */
616
+ getInteropValues(options?: ICellRange.GetValuesOptions): InteropScalar[][];
617
+ /**
618
+ * Set the value(s) of one or more cells within a range.
619
+ *
620
+ * @param values The value to be set or a callback that will generate a value.
621
+ * @returns The current `ICellRange`.
622
+ *
623
+ * @remarks
624
+ * - `null` values will clear the corresponding cells.
625
+ * - `undefined` values will be ignored, leaving the existing cell values unchanged.
626
+ * - If an array is passed the values will be in row-major order and will repeat if the range is larger than the array
627
+ * - If a single value is passed in it will repeat the entire range.
628
+ */
629
+ setValues(values: ICellRange.ValuesUpdate, options?: ICellRange.SetValuesOptions): this;
630
+ /**
631
+ * Provides a convenient method for setting values with a range of calls.
632
+ *
633
+ * @returns The current `ICellRange`.
634
+ *
635
+ * @remarks
636
+ * - **Performance** This is will always be significantly slow than setting attributes
637
+ * use the related range APIs.
638
+ * - For setting non contiguous values see {@link ICellRange.createSparseBuilder}
639
+ * @see
640
+ * * {@link updateStyle}
641
+ * * {@link setHyperlink}
642
+ */
643
+ updateCells(update: ICellRange.Update, options?: ICellRange.UpdateCellsOptions): this;
644
+ /**
645
+ * Set a single value to the entire range.
646
+ *
647
+ * @see
648
+ * {@link ICellRange.setValues}
649
+ */
650
+ setValue(value: ICellRange.ValuesUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
651
+ /**
652
+ * Set the formula for a range.
653
+ *
654
+ * @param value The formula to be set or a callback that will generate a formula.
655
+ * @returns The current `ICellRange`.
656
+ *
657
+ * @remarks
658
+ * Identical behavior to setValue. Exists for ergonomics
659
+ * @see
660
+ * {@link ICellRange.setValue}
661
+ */
662
+ setFormula(value: ICellRange.ValuesUpdateOrCallback, options?: ICellRange.SetValuesOptions): this;
663
+ /**
664
+ * Re-evaluates and formulas within the range.
665
+ *
666
+ * @param full If `true` then all formulas will be recalculated.
667
+ */
668
+ calculate(full?: boolean): this;
669
+ /**
670
+ * Fill the range to a destination using an array of {@link IAutoFill.Filler}.
671
+ *
672
+ * @param destination The range to autoFill including the current range.
673
+ * @throws `Error` If the destination range does not share 3 edges with the range.
674
+ * @returns `ICellRange` for the destination.
675
+ *
676
+ * @remarks
677
+ * * The destination must share 3 edges with the range and move exactly one edge.
678
+ * * An edge moved outward extends the fill; an edge moved inward shrinks it — the vacated
679
+ * cells are cleared (mirrors dragging Excel's fill handle back over the source).
680
+ * * A destination equal to the range is a no-op.
681
+ * * If the range contains merges then the fill amount must be a multiple of the merge unit on the fill
682
+ * axis, otherwise this throws — pass {@link AutoFillOptions.snap} to fill the nearest amount that
683
+ * qualifies instead.
684
+ * * With {@link AutoFillOptions.preview} nothing is committed and the returned range projects the
685
+ * result instead: its cells are computed, not read from the sheet, so
686
+ * {@link ICell.getValue} / {@link ICell.getText} report what *would* be filled. A projected cell
687
+ * also carries the merge the fill would create, so {@link ICell.getRange},
688
+ * {@link ICell.getSpans} and {@link ICell.getExtrusions} describe the block rather than a single
689
+ * cell — and asking for any coord inside that block returns the block's anchor cell, where the
690
+ * value lives. Cells the fill does not touch (the range itself) read straight from the sheet.
691
+ *
692
+ * @example
693
+ * ```typescript
694
+ * // What would land in the last cell, and how big will that cell be?
695
+ * const preview = sheet.getRange('A1:B4').autoFill('A1:B8', { preview: true });
696
+ * const last = preview.getCell({ rowIndex: 7, colIndex: 1 });
697
+ * last.getText(); // the value the fill would write
698
+ * last.getExtrusions(); // the merged block it would occupy (null if not merged)
699
+ * ```
700
+ */
701
+ autoFill(destination: ICellRange.Address, options?: ICellRange.AutoFillOptions): this;
702
+ /**
703
+ * Adjusts the column widths and rows heights to fit the content.
704
+ *
705
+ * @returns The current `ICellRange`.
706
+ */
707
+ autoFit(options?: ICellRange.AutoFitOptions): this;
708
+ /**
709
+ * Clear the range.
710
+ *
711
+ * @param applyTo The type of content to clear. Default `ICell.Content.Values`
712
+ * @returns The current `ICellRange`.
713
+ */
714
+ clear(applyTo?: ICell.Content, options?: ITransaction.OperationOptions): this;
715
+ /**
716
+ * Set the hyperlink for a range of values.
717
+ *
718
+ * @param hyperlink A hyperlink update
719
+ * @returns The current `ICellRange`.
720
+ *
721
+ * @remarks
722
+ * To clear hyperlinks either set to `null` or call `clear(ICell.Content.Hyperlinks)`.
723
+ */
724
+ setHyperlink(hyperlink: IHyperlink.Update, options?: ITransaction.OperationOptions): this;
725
+ /**
726
+ * Update the comments for the range.
727
+ *
728
+ * @param comments Comment properties
729
+ * @returns The current `ICellRange`.
730
+ *
731
+ * @remarks
732
+ * **NOT FINISHED**
733
+ */
734
+ setComments(comments: IComment.Properties, options?: ITransaction.OperationOptions): this;
735
+ /**
736
+ * Merges all cells within the selection ranges.
737
+ *
738
+ * @returns The current `ICellRange`.
739
+ *
740
+ * @remarks
741
+ * If the ranges overlap then this operation will throw an exception
742
+ */
743
+ merge(options?: IRange.AxisSelection | ICellRange.MergeOptions): this;
744
+ /**
745
+ * Unmerge all cells within the selection ranges.
746
+ *
747
+ * @returns The current `ICellRange`.
748
+ */
749
+ unmerge(options?: ITransaction.OperationOptions): this;
750
+ /**
751
+ * Returns an iterator of ICells that match the results.
752
+ *
753
+ * @param options The text to search for or {@link FindOptions}
754
+ */
755
+ find(options: string | ICellRange.FindOptions): Iterator<ICell>;
756
+ /**
757
+ * Sort the given range.
758
+ *
759
+ * @param options If a boolean then this is sort ascending or descending.
760
+ * @returns The current `ICellRange`.
761
+ *
762
+ * @remarks
763
+ * The sorting of various data types has a default priority of of boolean > string > number and dates are treated as numbers.
764
+ * If a boolean is used then this is a 'descending' flag. `true` then the sort is reversed (descending).
765
+ */
766
+ sort(options?: boolean | ISort.Options[] | ISort.RangeOptions & ITransaction.OperationOptions): this;
767
+ /**
768
+ * Sort the given range by a single column or row.
769
+ */
770
+ sortAt(index: number, options?: boolean | (ISort.Criteria & ITransaction.OperationOptions)): this;
771
+ /**
772
+ * Parses the text in the selected column into multiple columns based on a delimiter.
773
+ *
774
+ * @param options - Delimiter or Configuration for the split operation, including delimiter and handling of existing data.
775
+ * @returns `ICellRange` containing the the newly split data
776
+ * @throws Error if the destination cells are not empty and `replaceExisting` is false.
777
+ *
778
+ * @remarks
779
+ * This method mimics the "Delimited" mode of Excel's Text-to-Columns feature.
780
+ * By default, this operation is non-destructive (it will not overwrite existing data unless `replaceExisting` is true).
781
+ */
782
+ textToColumns(options?: ICellRange.TextToColumnsOptions | string): this;
783
+ /**
784
+ * Removes duplicate rows based on specified columns.
785
+ *
786
+ * @param options - Configuration for the duplicate removal operation, including the columns to consider.
787
+ * @returns `ICellRange` containing the rows that remain. This is the original range resized by the
788
+ * number of rows that were removed (the origin and the columns are unchanged).
789
+ * @throws Error if the range has no data or if a `columns` entry is not within the range.
790
+ *
791
+ * @remarks
792
+ * This method mimics the "Remove Duplicates" feature in Excel.
793
+ *
794
+ * The duplicate rows are deleted rather than cleared, so the rows that remain keep their
795
+ * formatting, hyperlinks and comments. Only the range is compacted - the same number of rows is
796
+ * given back at the bottom of the range so that the cells below it stay where they are.
797
+ *
798
+ * A row with no values is still a row. The first blank row is unique and any that follow are
799
+ * duplicates of it. Blank rows after the last row with a value are left alone.
800
+ */
801
+ removeDuplicates(options?: ICellRange.RemoveDuplicatesOptions): this;
802
+ /**
803
+ * Hide the rows that do not meet the condition.
804
+ *
805
+ * @remarks
806
+ * Apply filter to multiple spans in either axis.
807
+ *
808
+ * Example – hide rows where column C is >= 3:
809
+ *
810
+ * ``` ts
811
+ * sheet.getRange('A2:E100').filter({
812
+ * axis: IRange.Axis.Row, // default but could be column
813
+ * conditions: [
814
+ * {
815
+ * operator: ICondition.BuiltInOperatorNames.GreaterThanEqualTo,
816
+ * param: 3,
817
+ * // 0-based index of column C within the range (relative to the range, not the sheet)
818
+ * index: 2,
819
+ * },
820
+ * ],
821
+ * });
822
+ *
823
+ * @see
824
+ * {@link IFilter.IFilterable}
825
+ */
826
+ filter(condition: ICondition.Input | ICondition.RangeOptions, options?: ITransaction.OperationOptions): Promise<this>;
827
+ /**
828
+ * Insert a new, empty range within the sheet and shifts existing cells to accommodate it.
829
+ *
830
+ * @param options The axis or The direction in which to shift existing cells.
831
+ * Defaults to the axis where the range's dimension is smaller (e.g., shifts down if the range is wider than it is tall).
832
+ * See {@link ICellRange.getDefaultShiftAxis} for details on the default behavior.
833
+ * See {@link ITransaction.OperationOptions}
834
+ * @throws `Error` If the insertion would cause data to exceed the maximum sheet size.
835
+ * @returns The current `ICellRange`.
836
+ *
837
+ * @remarks
838
+ * By default the values will direction in whichever direction the selection shape is smaller.
839
+ * For example a selection with a 5 column by 1 row will direction Down (rows).
840
+ * Note - This will error if direction data will fall outsize of the max sheet size.
841
+ */
842
+ insert(options?: IRange.Axis | ICellRange.InsertOptions): this;
843
+ /**
844
+ * Delete the cells within the range and shifts the remaining cells to fill the gap.
845
+ *
846
+ * @param options The axis or The direction in which to shift existing cells.
847
+ * Defaults to the axis where the range's dimension is smaller (e.g., shifts down if the range is wider than it is tall).
848
+ * See {@link ICellRange.getDefaultShiftAxis} for details on the default behavior.
849
+ * See {@link ITransaction.OperationOptions}
850
+ * @returns The current `ICellRange`.
851
+ *
852
+ * @remarks
853
+ * This is different from clearing cells, which removes their content but doesn't affect the
854
+ * overall sheet structure. Deleting cells results in a shift of the remaining data.
855
+ */
856
+ delete(options?: IRange.Axis | ICellRange.DeleteOptions): this;
857
+ /**
858
+ * Add an `ITable` at the range.
859
+ *
860
+ * @param options If a boolean then this indicates if headers are present.
861
+ *
862
+ * @remarks
863
+ * This behaves similarly to {@link ISheet.getTables.add} but uses the current range
864
+ */
865
+ addTable(options?: ITableCollection.AddOptions | boolean): ITable;
866
+ /**
867
+ * Creates a 'light' table used for stateful filtering and sorting with-in a sheet.
868
+ *
869
+ * @see {@link ITable}
870
+ */
871
+ addAutoTable(options?: ICellRange.AddAutoTableOptions): ITable;
872
+ /**
873
+ * Returns a snapshot of the current range's data and formatting suitable for copying or archiving.
874
+ *
875
+ * @param options Default options when apply the snapshot (Usually copy).
876
+ * @returns A `ISnapshot` object representing the range.
877
+ *
878
+ * @remarks
879
+ * - **Option Merging:** If options are provided on getSnapshot and the copy operation,
880
+ * the two will be merged with the copy options taking precedence.
881
+ * - `getSnapshot` can be called multiple times allowing for multiple snapshots.
882
+ */
883
+ getSnapshot(options?: ICellRange.CopyOptions): ICellRange.ISnapshot;
884
+ /**
885
+ * Inserts the contents of the `source` into the sheet, shifting existing cells to make space.
886
+ *
887
+ * @param source The source of the data and formatting to insert.
888
+ * This can be either a range address, another range object, or an `ISnapshot`
889
+ * created using the `getSnapshot` method.
890
+ * @returns A promise that resolve to an `ICellRange` or 'null' when the copy has completed.
891
+ *
892
+ * @remarks
893
+ * * Behaves similarly to {@link insert} and {@link copyFrom}, but instead of inserting empty space at the range
894
+ * it also inserts the content of the `source`.
895
+ * * Will return `null` if nothing was inserted or the source doesn't have a range.
896
+ */
897
+ insertFrom(source: ICellRange.Address | ICellRange.ISnapshot, options?: ICellRange.InsertFromOptions): Promise<this | null>;
898
+ /**
899
+ * Copies (or cuts) data and formatting from a specified source to the current range.
900
+ *
901
+ * @param source The source of the data and formatting to be copied or cut.
902
+ * This can be either a range address, another range object, or an `ISnapshot`
903
+ * created using the `getSnapshot` method.
904
+ * @returns A promise that resolve to an `ICellRange` or 'null' when the copy has completed.
905
+ *
906
+ * @remarks
907
+ * * Will return `null` if nothing was inserted or the source doesn't have a range.
908
+ * @see
909
+ * {@link ICellRange.getSnapshot}
910
+ */
911
+ copyFrom(source: ICellRange.Address | ICellRange.ISnapshot, options?: ICellRange.CopyOptions): Promise<this | null>;
912
+ /**
913
+ * Update the protection for the range.
914
+ *
915
+ * @returns The current `ICellRange`.
916
+ *
917
+ * @remarks
918
+ * Setting to `null` will remove protections.
919
+ */
920
+ /**
921
+ * Perform a set of operations as a batch.
922
+ *
923
+ * @param callback Function to perform the operations.
924
+ * @param options Description of the operation or additional options. This will be used for tracking undo/redo and history. @defaultValue 'Range Update'
925
+ * @template R - The callback return type.
926
+ * @returns The result of the callback.
927
+ */
928
+ doBatch<R>(callback: (commit: ITransaction.ICommit) => Promise<R> | R, options?: string | ITransaction.OperationOptions): Promise<R> | R;
929
+ /**
930
+ * Creates a `SparseBuilder` for efficiently updating sparsely populated cells in a streaming low memory way.
931
+ *
932
+ * For contiguous or mostly contiguous updates, the {@link ICellRange.updateCells} method is simpler
933
+ * and will use {@link ICellRange.SparseBuilder} internally.
934
+ *
935
+ * @remarks
936
+ * - **Ordering:** By default updates must be added in either row-major or column-major order, as specified
937
+ * by the `axis` parameter, with major/minor coordinates increasing monotonically. Unless
938
+ * `allowUnorderedWrites` is set to `true out of order updates will result in an error.
939
+
940
+ * - **Performance:** Setting `axis` to `IRange.Axis.Column` is generally faster as it aligns with the internal data representation.
941
+ * - **Performance:** Setting `allowUnorderedWrites` adds a nominal performance overhead for all updates and will do a full apply when an
942
+ * out of order update is detected.
943
+ * The default `IRange.Axis.Row` is provided for compatibility with common spreadsheet APIs.
944
+ * - **Validation:** Data validation (e.g., for protected cells or boundaries) is performed when the `apply` method is called.
945
+ * - **Transactions:**
946
+ * - Adding values to the `SparseBuilder` only builds a temporary representation of the updates.
947
+ * No actual changes are made to the sheet until `apply` is called.
948
+ * - This allows for safe batching of updates within a single transaction using `doBatch`.
949
+
950
+ * @example
951
+ ```typescript createSparseBuilder
952
+ const builder = range.createSparseBuilder()
953
+ .push('A1', 2)
954
+ .push('A2', 567)
955
+ .push('A3', 3)
956
+ .push('A4', 123)
957
+ .push('A5', 1)
958
+ .apply();
959
+ });
960
+ ```
961
+ */
962
+ createSparseBuilder(options?: ICellRange.SparseBuilderOptions): ICellRange.SparseBuilder;
963
+ /**
964
+ * Selects the current range.
965
+ *
966
+ * @returns An async `ICellRange`.
967
+ */
968
+ select(options?: ICellRange.SelectOptions): Promise<this>;
969
+ /**
970
+ * Add a listener to the range.
971
+ *
972
+ * @returns A callback to remove. {@link IListener.Remove}
973
+ *
974
+ * @remarks
975
+ * If the range becomes invalid through a delete this will auto remove.
976
+ */
977
+ addListener(listener: ICellRange.Listener, options?: ICellRange.ListenerOptions): IListener.Remove;
978
+ /**
979
+ * Evaluates `formula` across this range and calls `callback` with the results — then again every
980
+ * time anything the formula reads changes.
981
+ *
982
+ * @param formula An expression, compiled at this range's top-left, or an already-compiled formula
983
+ * anchored there (see the anchor note below).
984
+ * @param callback Receives one value per cell of this range, read with local coordinates
985
+ * (`getValueAt(0, 0)` is this range's top-left).
986
+ *
987
+ * @returns A callback to remove the watch. {@link IListener.Remove}
988
+ *
989
+ * @remarks
990
+ * The difference from {@link createFormula} is the lifetime: that one compiles and
991
+ * evaluates once and registers nothing, so its answer silently ages. This one keeps answering.
992
+ *
993
+ * Block-shaped, always. A rule's operand is a value *per cell*, not one value for the range: an
994
+ * absolute reference (`$A$1`) yields the same value in every cell and a relative one (`A1`)
995
+ * yields each cell's own — the same code path, which is why per-cell semantics cost nothing here.
996
+ *
997
+ * The callback fires on the first evaluation as well as on every change, so a caller never has to
998
+ * evaluate separately and then watch — a sequence with a window in it where a change is lost. An
999
+ * evaluation superseded by a newer one is dropped rather than delivered late, so the callback
1000
+ * never goes backwards in time.
1001
+ *
1002
+ * **The anchor must be this range's top-left**, and a compiled formula anchored elsewhere throws
1003
+ * rather than being quietly re-sited. A formula means different things read from different cells
1004
+ * ({@link ICalculation.IFormula.shift}), so silently moving one would answer a question the
1005
+ * caller did not ask. To watch a formula belonging to a multi-area rule, fill it first — or use
1006
+ * {@link ICellRanges.addWatch}, which does that for every area.
1007
+ *
1008
+ * Known limits, both from watching the formula's *written* references: a range discovered at
1009
+ * evaluation time (`INDIRECT`, `OFFSET`) is not watched, and a volatile formula (`NOW`, `RAND`)
1010
+ * has nothing to watch at all. Neither re-fires.
1011
+ */
1012
+ addWatch(formula: ICalculation.IFormula | string, callback: ICellRange.WatchCallback): IListener.Remove;
1013
+ /**
1014
+ * Returns an iterator that allows you to iterate over the individual values within the range.
1015
+ *
1016
+ * @remarks
1017
+ * For more advanced iteration, use {@link ICellRange.entries} or {@link ICellRange.forEach}.
1018
+ */
1019
+ [Symbol.iterator](): IterableIterator<Scalar>;
1020
+ /**
1021
+ * Returns an iterator that allows you to iterate over the individual entries within the range,
1022
+ * yielding pairs of `IteratorContext` and a `Value`.
1023
+ *
1024
+ * @returns An iterator that yields `ICellRange.Entry` tuples for each value within the range.
1025
+ */
1026
+ entries(options?: ICellRange.IteratorOptions): IterableIterator<ICellRange.Entry>;
1027
+ /**
1028
+ * Returns the values within the range, yielding each value.
1029
+ *
1030
+ * @returns An iterator that yields `Scalar` each value within the range.
1031
+ */
1032
+ values(options?: ICellRange.IteratorOptions): IterableIterator<Scalar>;
1033
+ /**
1034
+ * Iterates over the cells within the range, applying the provided callback function to each cell.
1035
+ *
1036
+ * This method is a more scalable alternative to `getValues` or `getCells` for large or sparse ranges,
1037
+ * as it:
1038
+ * 1. Skips empty values by default.
1039
+ * 2. Avoids creating large arrays.
1040
+ * 3. Allows for early termination.
1041
+
1042
+ * @param callback A function that will be called for each non-empty cell in the range. The callback receives:
1043
+ * - `value`: The `Scalar` at the current cell.
1044
+ * - `context`: A `IteratorContext` object providing additional information and utilities for the cell.
1045
+ * - The callback can return `{ break: T }` to stop the iteration early.
1046
+ * @template R - The callback return type.
1047
+ * @returns The value returned by the callback function if it explicitly returned to stop the iteration early; otherwise, `void`.
1048
+ */
1049
+ forEach<B>(callback: ICellRange.ForEachCallback<B>, options?: ICellRange.IteratorOptions): B | void;
1050
+ /**
1051
+ * Returns `true` if there is any content within the range.
1052
+ *
1053
+ * @param features Restrict the check to specific features. Defaults to any content.
1054
+ * @returns 'boolean' indicating if there is content.
1055
+ *
1056
+ * @remarks
1057
+ * Some uses cases for this are checking for data to delete a sheet, checking for multiple values
1058
+ * for merges.
1059
+ */
1060
+ isContentful(features?: ICellRange.Feature | readonly ICellRange.Feature[]): boolean;
1061
+ /**
1062
+ * Returns `true` if the range represents the entire rows.
1063
+ */
1064
+ isEntireRows(): boolean;
1065
+ /**
1066
+ * Returns `true` if the range represents the entire columns.
1067
+ */
1068
+ isEntireColumns(): boolean;
1069
+ /**
1070
+ * Returns `true` if the range represents both entire rows and entire columns.
1071
+ */
1072
+ isEntireRange(): boolean;
1073
+ /**
1074
+ * Returns `true` if the range is a single cell.
1075
+ */
1076
+ isSingleCell(): boolean;
1077
+ /**
1078
+ * Returns `true` if the given address represents the same range as the current range.
1079
+ *
1080
+ * @param address The address to compare against.
1081
+ * @param options Options for getting the range from the address.
1082
+ */
1083
+ isEqual(address: ICellRange.Address, options?: ICellRange.GetRangeOptions): boolean;
1084
+ /**
1085
+ * Returns the size of the range this is the rows * columns.
1086
+ */
1087
+ get size(): number;
1088
+ /**
1089
+ * Returns the absolute bounds for the range.
1090
+ */
1091
+ getBounds(): Bounds;
1092
+ /**
1093
+ * Indicates if the range is readonly only.
1094
+ *
1095
+ * @remarks
1096
+ * Not an indicator of if the range is protected but rather
1097
+ * if the range is being used in a way that doesn't support write operations.
1098
+ * (e.g. the range is being provided as a listener source {@link ICellRange.Event}
1099
+ * or the range belongs to a historical snapshot.)
1100
+ */
1101
+ isReadOnly(): boolean;
1102
+ /**
1103
+ * Returns the `coords` as a string address (e.g., 'A1' or 'A1:E5').
1104
+ *
1105
+ * @param r1c1 If unspecified returns the environment's default.
1106
+ */
1107
+ getAddress(r1c1?: boolean): string;
1108
+ /**
1109
+ * Returns the column start.
1110
+ */
1111
+ getColumnStart(): number;
1112
+ /**
1113
+ * Returns the top of the range.
1114
+ */
1115
+ getRowStart(): number;
1116
+ /**
1117
+ * Returns the right of the range.
1118
+ */
1119
+ getColumnEnd(): number;
1120
+ /**
1121
+ * Returns the bottom of the range.
1122
+ */
1123
+ getRowEnd(): number;
1124
+ /**
1125
+ * Returns the number of columns of the range.
1126
+ */
1127
+ getColumnCount(): number;
1128
+ /**
1129
+ * Returns the number of rows of the range.
1130
+ */
1131
+ getRowCount(): number;
1132
+ /**
1133
+ * Checks if the ranges is empty, meaning it has no values or formatting.
1134
+ *
1135
+ * @remarks
1136
+ * Convenience ```getUsedRange() !== null``` or `getCount() === 0`.
1137
+ *
1138
+ * @see
1139
+ * {@link ICellRange.getUsedRange}
1140
+ */
1141
+ isEmpty(): boolean;
1142
+ /**
1143
+ * Returns the Sheet.
1144
+ */
1145
+ getSheet(): ISheet;
1146
+ /**
1147
+ * The IRange.Coords.
1148
+ */
1149
+ getCoords(): Readonly<IRange.FixableCoords>;
1150
+ /**
1151
+ * Returns `true` if the range is invalid.
1152
+ *
1153
+ * @remarks
1154
+ * Ranges can be invalid if a range is removed due to deleting rows or columns or if the
1155
+ * range is created with invalid coordinates.
1156
+ */
1157
+ isInvalid(): boolean;
1158
+ /**
1159
+ * Returns the address as a string.
1160
+ */
1161
+ toString(): string;
1162
+ /**
1163
+ * For runtime type checking.
1164
+ */
1165
+ readonly isICellRange: true;
1166
+ }
1167
+ /**
1168
+ * An {@link ICellRange} that represents a named range.
1169
+ *
1170
+ * @remarks
1171
+ * Consumers that need the named identity check `isINamedRange` before casting.
1172
+ */
1173
+ export interface INamedRange extends ICellRange {
1174
+ /** Returns the user-visible display name. */
1175
+ getName(): string;
1176
+ /** Returns the internal ID of the named range. */
1177
+ getId(): string;
1178
+ /**
1179
+ * EVERY range this name designates, or `null` when it designates none.
1180
+ *
1181
+ * @remarks
1182
+ * A name's refers-to may be a UNION (`Revenue = $A$1:$B$2,$D$3:$E$4`), and an `INamedRange` is
1183
+ * ONE range — its own coords cannot carry two areas. This is the door to the full extent, so a
1184
+ * holder of a branded member never has to re-resolve the name to learn there was more.
1185
+ *
1186
+ * `null` matches `INamed.getRanges`: a name holding an expression (`Doubled = Base*2`)
1187
+ * designates no cells — its coords here are a graph ANCHOR, not a target.
1188
+ */
1189
+ getRanges(): ICellRanges | null;
1190
+ /** For runtime type checking. */
1191
+ readonly isINamedRange: true;
1192
+ }
1193
+ /**
1194
+ * {@inheritDoc ICellRange}
1195
+ * @see
1196
+ * ### **Interface**
1197
+ *
1198
+ * {@link ICellRange}
1199
+ */
1200
+ export declare namespace ICellRange {
1201
+ /**
1202
+ * This is either:
1203
+ * 1. A string that can be parsed into a CellRange (e.g. 'A1:B2') or a named range.
1204
+ * 2. Another ICellRange
1205
+ * 3. An IRange
1206
+ * 4. Partial IRange.FixableCoords
1207
+ */
1208
+ type Address = string | ICellRange | IRange | Readonly<Partial<IRange.FixableCoords>> | ICell.Address | FormulaError.Ref;
1209
+ /**
1210
+ * Represents an update to a cell's value, allowing `null` to clear the cell.
1211
+ *
1212
+ * @remarks
1213
+ * This type is used to update a cell's value. Passing `null` will clear the cell's content.
1214
+ * The value must conform to the native types allowed in a cell (`Scalar`).
1215
+ */
1216
+ type ScalarUpdate = Scalar | null | undefined;
1217
+ /**
1218
+ * Represents an update to a cell's value in JavaScript, allowing `Date` and `null`.
1219
+ *
1220
+ * @remarks
1221
+ * This type allows for updating a cell's value, including `Date` for convenience.
1222
+ * As with `ScalarUpdate`, `null` can be used to clear the cell's value.
1223
+ *
1224
+ * * See {@link InteropScalar} for more details on JavaScript scalar values.
1225
+ */
1226
+ type InteropScalarUpdate = InteropScalar | null | undefined;
1227
+ /**
1228
+ * Single or 2D.
1229
+ */
1230
+ type Update = ICell.Update | readonly ICell.Update[][];
1231
+ /**
1232
+ * A union of either a Scalar and 2D array of Scalars or an IRange.
1233
+ */
1234
+ type ValuesUpdate = InteropScalarUpdate | IRange | readonly InteropScalarUpdate[][];
1235
+ /**
1236
+ * Allows for Values to be set via a callback.
1237
+ */
1238
+ type ValuesUpdateOrCallback<T = Scalar> = ValuesUpdate | ((row: number, column: number) => T | null);
1239
+ /**
1240
+ * The read options a range carries.
1241
+ *
1242
+ * @remarks
1243
+ * **These are sticky.** A range created with them keeps them, and every derivation
1244
+ * (`getOffsetBy`, `getIntersect`, `getUsedRange`, `getRowAt`…) hands them to the range it
1245
+ * returns. That is what keeps the API fluent: if a read is scoped by an option, everything
1246
+ * chained off its result stays scoped the same way, rather than silently widening back out
1247
+ * at the first hop.
1248
+ *
1249
+ * They are defaults, not locks — the same key passed to an individual read wins for that
1250
+ * call, and a derivation that passes new options merges them over the carried ones.
1251
+ */
1252
+ interface GetRangeOptions {
1253
+ /**
1254
+ * Skip cells hidden via headers.
1255
+ *
1256
+ * @defaultValue false
1257
+ *
1258
+ * @remarks
1259
+ * Honored by every read that walks cells — iteration ({@link ICellRange.forEach},
1260
+ * {@link ICellRange.entries}), the aggregates ({@link ICellRange.getCounts},
1261
+ * {@link ICellRange.getCount}, {@link ICellRange.isContentful}), {@link ICellRange.getMerges}
1262
+ * and {@link ICellRange.getRegions}.
1263
+ *
1264
+ * Optionally an {@link IRange.Axis} to skip on one axis only — sorting skips hidden rows
1265
+ * while leaving hidden columns in place.
1266
+ */
1267
+ ignoreHidden?: boolean | IRange.Axis;
1268
+ /**
1269
+ * The features reads through this range resolve and report.
1270
+ *
1271
+ * @defaultValue all features
1272
+ *
1273
+ * @remarks
1274
+ * The lens for every feature-aware read: iteration visits only cells that exist through a
1275
+ * listed feature, {@link ICellRange.getCounts} / {@link ICellRange.isContentful} /
1276
+ * {@link ICellRange.getRegions} report on that selection, and
1277
+ * {@link ICellRange.getUsedRange} measures its extent.
1278
+ *
1279
+ * An empty list is the raw-value fast path — no feature state is resolved at all.
1280
+ *
1281
+ * {@link ICellRange.getValues} and {@link ICellRange.values} are deliberately exempt — a
1282
+ * value is a value regardless of the lens.
1283
+ */
1284
+ features?: ICellRange.Feature | readonly ICellRange.Feature[];
1285
+ }
1286
+ /**
1287
+ * A sheet collection's own `getItems` filters, without `address`.
1288
+ *
1289
+ * @remarks
1290
+ * The ranged item lookups ({@link ICellRange.getTables}, {@link ICellRange.getConditionalFormats},
1291
+ * {@link ICellRange.getDataValidations}, {@link ICellRange.getMovables}) are scoped views of the
1292
+ * sheet's collections, so each takes exactly the filters its own collection takes. `address` is
1293
+ * dropped because the range **is** the address — a second one would be a contradictory scope.
1294
+ */
1295
+ type GetItemsOptions<T> = Omit<T, 'address'>;
1296
+ /**
1297
+ * Options for adding an auto table to a range.
1298
+ */
1299
+ interface AddAutoTableOptions extends ITransaction.OperationOptions {
1300
+ /**
1301
+ * Include sort options.
1302
+ */
1303
+ sort?: ISort.RangeOptions;
1304
+ /**
1305
+ * Include filter options.
1306
+ */
1307
+ filter?: ICondition.RangeOptions;
1308
+ /**
1309
+ * If `true` then any existing auto table at the range will be replaced.
1310
+ */
1311
+ replaceExisting?: boolean;
1312
+ }
1313
+ /**
1314
+ * Options for `ICellRange.delete`.
1315
+ */
1316
+ interface InsertOptions extends ITransaction.OperationOptions {
1317
+ /**
1318
+ * The direction in which to shift existing cells.
1319
+ *
1320
+ * @remarks
1321
+ * Defaults to the axis where the range's dimension is smaller (e.g., shifts down if the range is wider than it is tall).
1322
+ * See {@link ICellRange.getDefaultShiftAxis}
1323
+ */
1324
+ axis?: IRange.Axis;
1325
+ /**
1326
+ * Expand the shifted range to the enclosing region's full extent across the shift axis before
1327
+ * inserting: within a table, the table's width/height (a **table** row/column insert — column
1328
+ * state, undo labels and validity are owned by the table); otherwise the **entire sheet** (an
1329
+ * entire row/column insert). The range's own extent on the shift axis still supplies the count.
1330
+ *
1331
+ * @remarks
1332
+ * - A range that only *partially* overlaps a table throws (cells cannot shift across a table
1333
+ * boundary) — select entirely inside or outside the table.
1334
+ * - A table row insert requires the range's rows to lie within the table **body** (not the
1335
+ * header/totals rows) and throws otherwise.
1336
+ * - Requires a single range at the `ICellRanges` level.
1337
+ *
1338
+ * @defaultValue `false` (classic shift-cells)
1339
+ */
1340
+ span?: boolean;
1341
+ }
1342
+ /**
1343
+ * Options for `ICellRange.delete`.
1344
+ */
1345
+ interface DeleteOptions extends ITransaction.OperationOptions {
1346
+ /**
1347
+ * The direction in which to shift existing cells.
1348
+ *
1349
+ * @remarks
1350
+ * Defaults to the axis where the range's dimension is smaller (e.g., shifts down if the range is wider than it is tall).
1351
+ * See {@link ICellRange.getDefaultShiftAxis}
1352
+ */
1353
+ axis?: IRange.Axis;
1354
+ /**
1355
+ * Expand the shifted range to the enclosing region's full extent across the shift axis before
1356
+ * deleting: within a table, the table's width/height (a **table** row/column delete); otherwise
1357
+ * the **entire sheet** (an entire row/column delete). See {@link InsertOptions.span} for the
1358
+ * boundary and validity rules.
1359
+ *
1360
+ * @defaultValue `false` (classic shift-cells)
1361
+ */
1362
+ span?: boolean;
1363
+ }
1364
+ /**
1365
+ * Options for configuring range coordinate reference types.
1366
+ * Each option allows you to specify whether a coordinate should be fixed
1367
+ * (absolute) or flexible (relative).
1368
+ *
1369
+ * @see
1370
+ * {@link ICellRange.getFixed}
1371
+ */
1372
+ interface GetFixedOptions {
1373
+ /**
1374
+ * If `true`, sets the starting row coordinate as absolute; if `false`,
1375
+ * sets it as relative. Defaults to no change if not provided.
1376
+ */
1377
+ rowStart?: boolean;
1378
+ /**
1379
+ * If `true`, sets the starting column coordinate as absolute; if `false`,
1380
+ * sets it as relative. Defaults to no change if not provided.
1381
+ */
1382
+ colStart?: boolean;
1383
+ /**
1384
+ * If `true`, sets the ending row coordinate as absolute; if `false`,
1385
+ * sets it as relative. Defaults to no change if not provided.
1386
+ */
1387
+ rowEnd?: boolean;
1388
+ /**
1389
+ * If `true`, sets the ending column coordinate as absolute; if `false`,
1390
+ * sets it as relative. Defaults to no change if not provided.
1391
+ */
1392
+ colEnd?: boolean;
1393
+ }
1394
+ /**
1395
+ * Options for {@link ICellRange.getSurrounding}.
1396
+ */
1397
+ interface GetSurroundingOptions {
1398
+ /**
1399
+ * If `true` then only the content will be included.
1400
+ *
1401
+ * @defaultValue false
1402
+ *
1403
+ * @remarks
1404
+ * If `true` then tables and sheet boundaries will be ignored mimicking the behavior
1405
+ * of 'Ctrl+Shift+*'.
1406
+ */
1407
+ contentOnly?: boolean;
1408
+ }
1409
+ /**
1410
+ * A callback to enabled additional customization during copy.
1411
+ *
1412
+ * @remarks
1413
+ * Return `undefined` will leave the value undefined altered.
1414
+ */
1415
+ interface CopyCellsCallback {
1416
+ (value: Scalar, context: ICell.IteratorContext, to: IRange.CellCoords, options: ICellRange.CopyOptions): ICell.Update;
1417
+ }
1418
+ /**
1419
+ * Options for {@link ICellRange.ISnapshot.copyTo}.
1420
+ */
1421
+ interface CopyOptions extends ITransaction.OperationOptions, ReferenceableClipboard.CopyOptions {
1422
+ /**
1423
+ * When pasting from a smaller range to a larger range copy will repeat or 'wallpaper' the
1424
+ * source values.
1425
+ *
1426
+ * @remarks
1427
+ * Note - If the destination range is only a single cell then fitDestination will always be applied.
1428
+ */
1429
+ fitDestination?: boolean;
1430
+ /**
1431
+ * Have the data transposed for the original axis.
1432
+ *
1433
+ * @defaultValue false
1434
+ */
1435
+ transpose?: boolean;
1436
+ /**
1437
+ * Indicate which items are copied.
1438
+ */
1439
+ type?: ICell.Content;
1440
+ /**
1441
+ * Indicates if the header (size) should be copied.
1442
+ *
1443
+ * @remarks
1444
+ * The default is to only copy the headers if the range is entire header span.
1445
+ */
1446
+ includeHeaders?: boolean;
1447
+ /**
1448
+ * Allows for undo to range selection to be altered.
1449
+ *
1450
+ * @remarks
1451
+ * TODO - API leakage - This is used to during drag.
1452
+ */
1453
+ undoRange?: ICellRange;
1454
+ /**
1455
+ * Callback to allow for additional customizations.
1456
+ */
1457
+ adjustCells?: ICellRange.CopyCellsCallback;
1458
+ }
1459
+ /**
1460
+ * Options for {@link ICellRange.insertFrom}.
1461
+ *
1462
+ * @remarks
1463
+ * This extends {@link ICellRange.CopyOptions} and adds an {@link IRange.Axis}.
1464
+ */
1465
+ interface InsertFromOptions extends ICellRange.CopyOptions {
1466
+ /**
1467
+ * The direction in which to shift existing cells.
1468
+ * Defaults to the axis where the copied range's dimension is smaller.
1469
+ * See {@link ICellRange.getDefaultShiftAxis} for details on the default behavior.
1470
+ */
1471
+ axis?: IRange.Axis;
1472
+ }
1473
+ /**
1474
+ * Options for {@link ICellRange.setValues}.
1475
+ */
1476
+ interface SetValuesOptions extends ITransaction.OperationOptions {
1477
+ /**
1478
+ * By default setValue will attempt to parse text values into a native type.
1479
+ * This can be disabled or customized using the parseText flag.
1480
+ * Setting this to false will use the raw text value.
1481
+ */
1482
+ textParser?: boolean | ICell.ModifiersFromStringOptions;
1483
+ /**
1484
+ * Specifies the direction for iterating over the range (row-major or column-major).
1485
+ *
1486
+ * @defaultValue `IRange.Axis.Row`
1487
+ *
1488
+ * @remarks
1489
+ * Both {@link SetValuesOptions} and {@link GetValuesOptions} allow for {@link IRange.Axis}s.
1490
+ */
1491
+ axis?: IRange.Axis;
1492
+ /**
1493
+ * Convenience method that calls autoFit after the setValues.
1494
+ * @defaultValue `none` - No autofit.
1495
+ *
1496
+ * @remarks
1497
+ * If set to `true` then autoFit will mimic the UI with the following options:
1498
+ ```
1499
+ {
1500
+ skipCustomSize: true,
1501
+ expandOnly: true,
1502
+ minContent: true
1503
+ }
1504
+ ```
1505
+ */
1506
+ autoFit?: boolean | ICellRange.AutoFitOptions;
1507
+ /**
1508
+ * Skip the bounds check when setting values.
1509
+ *
1510
+ * @remarks
1511
+ * When set to `true`, this option allows value arrays to exceed the
1512
+ * dimensions of the range. This is useful for setting values in a table
1513
+ * where the range is smaller than the data, but determining the exact
1514
+ * size requires processing the entire dataset.
1515
+ */
1516
+ skipBoundsCheck?: boolean;
1517
+ }
1518
+ /**
1519
+ * Options for {@link ICellRange.getValues}.
1520
+ */
1521
+ interface GetValuesOptions {
1522
+ /**
1523
+ * Limits the maximum number of values returned. An error will be thrown if results contain more values than `maxSize`.
1524
+ *
1525
+ * @defaultValue 10000
1526
+ */
1527
+ maxSize?: number;
1528
+ /**
1529
+ * Specifies the primary direction for iterating over the range (row-major or column-major).
1530
+ *
1531
+ * @defaultValue IRange.Axis.Row
1532
+ *
1533
+ * @remarks
1534
+ * Both {@link SetValuesOptions} and {@link GetValuesOptions} allow for {@link IRange.Axis}s.
1535
+ */
1536
+ axis?: IRange.Axis;
1537
+ /**
1538
+ * Reverses the iteration order (e.g., from bottom to top for rows, or from right to left for columns).
1539
+ *
1540
+ * @defaultValue false
1541
+ */
1542
+ reverse?: boolean;
1543
+ /**
1544
+ * Excludes hidden cells from the returned values.
1545
+ *
1546
+ * @defaultValue false
1547
+ *
1548
+ * @remarks
1549
+ * - When enabled, the number of returned rows or columns might be less than the range size.
1550
+ * - If the entire range is hidden, the result will be empty and empty Array (`[]`).
1551
+ * - Optionally, you can specify a `IRange.Axis` to indicate the header axis for skipping cases.
1552
+ * For example, in sorting, you might want to skip hidden rows but not hidden columns.
1553
+ */
1554
+ ignoreHidden?: boolean | IRange.Axis;
1555
+ /** {@inheritDoc ICellRange.IteratorOptions.includeMergeOverflow} */
1556
+ includeMergeOverflow?: boolean;
1557
+ }
1558
+ /**
1559
+ * Options for {@link ICellRange.autoFit}.
1560
+ */
1561
+ interface AutoFitOptions extends ITransaction.OperationOptions {
1562
+ /**
1563
+ * Best fit using the minimum amount of space required.
1564
+ *
1565
+ * @defaultValue false
1566
+ *
1567
+ * @remarks
1568
+ * When `true` the numbers will include as few decimals as allowed overflow into the next cell.
1569
+ * For example allowing numbers to round or use scientific notation.
1570
+ */
1571
+ minContent?: boolean;
1572
+ /**
1573
+ * Restricts autoFit to only grow, never shrink.
1574
+ *
1575
+ * @defaultValue false - adjust in both directions.
1576
+ *
1577
+ * @remarks
1578
+ * This is useful when adjusting fonts and wan the columns to resize but not the rows.
1579
+ */
1580
+ expandOnly?: boolean | IRange.Axis;
1581
+ /**
1582
+ * If this is set to `true` then any headers that have custom sizes will be ignored.
1583
+ *
1584
+ * @defaultValue false
1585
+ */
1586
+ skipCustomSize?: boolean;
1587
+ /**
1588
+ * The axes to autoFit.
1589
+ *
1590
+ * @defaultValue IRange.AxisSelection.Both
1591
+ */
1592
+ axes?: IRange.AxisSelection;
1593
+ /**
1594
+ * Fit to what **formula view** displays rather than to the rendered values.
1595
+ *
1596
+ * @defaultValue the sheet view's {@link ISheetView.isShowFormulas}
1597
+ *
1598
+ * @remarks
1599
+ * In formula view a cell with a formula shows `=` + its formula text, and every other cell
1600
+ * shows its raw value with no number format. Both are usually much wider than the formatted
1601
+ * value, which is why Excel also renders columns at twice their stored width while it is on.
1602
+ *
1603
+ * Normally left unset — autoFit follows the view. Pass it explicitly to fit for a view other
1604
+ * than the current one (or, in tests, without a view at all).
1605
+ */
1606
+ formulaView?: boolean;
1607
+ }
1608
+ /**
1609
+ * Options for {@link ICellRanges.getFlattened}.
1610
+ */
1611
+ interface GetFlattenOptions extends GetRangeOptions {
1612
+ /**
1613
+ * Returns a set of ranges with overlaps removed and attempts to merge adjacent ranges into larger ranges.
1614
+ *
1615
+ * @param axes The overlap detection and initial merge axis.
1616
+ * @returns A new `ICellRanges` object with non-overlapping, and where possible, merged ranges.
1617
+ *
1618
+ * @defaultValue `IRange.AxisSelection.Both`.
1619
+ */
1620
+ axes?: IRange.AxisSelection;
1621
+ }
1622
+ /**
1623
+ * Options for {@link ICellRange.getStats}.
1624
+ */
1625
+ interface GetStatsOptions extends IRange.IteratorOptions {
1626
+ /**
1627
+ * Measure only the rows/columns the sheet is showing.
1628
+ *
1629
+ * @defaultValue `false`
1630
+ *
1631
+ * @remarks
1632
+ * The same lens {@link ICellRange.getCounts} and {@link ICellRange.getRegions} take, and it
1633
+ * costs no extra scan: the range is split at the hidden runs first (off the header run
1634
+ * structure, no per-cell probe) and the resulting pieces are measured as ONE population.
1635
+ *
1636
+ * Optionally an {@link IRange.Axis} to skip on one axis only.
1637
+ */
1638
+ ignoreHidden?: boolean | IRange.Axis;
1639
+ }
1640
+ /**
1641
+ * Options for {@link ICellRange.getVisible}.
1642
+ */
1643
+ interface GetVisibleOptions extends GetRangeOptions {
1644
+ /**
1645
+ * The visible axes.
1646
+ *
1647
+ * @defaultValue `IRange.AxisSelection.Both`
1648
+ */
1649
+ axes?: IRange.AxisSelection;
1650
+ }
1651
+ /**
1652
+ * Options for {@link ICellRange.autoFill}.
1653
+ */
1654
+ interface AutoFillOptions extends ITransaction.OperationOptions {
1655
+ /**
1656
+ * Provide custom fillers.
1657
+ *
1658
+ * @defaultValue `AutoFill.Types.Series`
1659
+ */
1660
+ filler?: IAutoFill.Filler;
1661
+ /**
1662
+ * Options to pass to the `IAutoFill.Filler`.
1663
+ * @remarks
1664
+ * These will also be passed if a custom filler is used.
1665
+ */
1666
+ fillerOptions?: IAutoFill.Options;
1667
+ /**
1668
+ * If `true` then will only copy values and not formatting.
1669
+ *
1670
+ * @defaultValue false (unless starting within a table)
1671
+ */
1672
+ contentsOnly?: boolean;
1673
+ /**
1674
+ * Compute the fill but commit nothing — the returned range is a projection of the result.
1675
+ *
1676
+ * @defaultValue false
1677
+ *
1678
+ * @remarks
1679
+ * * The sheet is untouched and no undo entry is created.
1680
+ * * The returned range covers the destination and is read-only; writes to it throw.
1681
+ * * Its cells are derived, not read from the sheet — see {@link ICellRange.autoFill}.
1682
+ * * Cells are computed on demand, so previewing one cell of a large fill costs one cell.
1683
+ */
1684
+ preview?: boolean;
1685
+ /**
1686
+ * Fill the nearest destination that is legal instead of throwing when the given one is not.
1687
+ *
1688
+ * @defaultValue false
1689
+ *
1690
+ * @remarks
1691
+ * * Only merges make a destination illegal, so with none on the fill axis this changes nothing.
1692
+ * * The fill amount is rounded **outward** to the merge unit (drag one row into a merge and the
1693
+ * whole merge is covered, Excel-style), then clamped **inward** to the sheet. If not even one
1694
+ * merge unit fits, the fill becomes a no-op.
1695
+ * * Shrinking destinations are always legal and are never moved.
1696
+ * * Opt-in by design: a caller that named an exact destination gets an error rather than a silently
1697
+ * different fill. Turn it on for pointer-driven input, where the raw destination is a guess.
1698
+ * * The returned range reports where the fill actually landed — so a drag can snap, preview and
1699
+ * commit through one call and they can never disagree.
1700
+ */
1701
+ snap?: boolean;
1702
+ }
1703
+ /**
1704
+ * Options for {@link ICellRange.updateCells}.
1705
+ */
1706
+ interface UpdateCellsOptions extends SetValuesOptions {
1707
+ }
1708
+ /**
1709
+ * Provides an API for efficiently performing incremental updates to specific cells within a range.
1710
+ *
1711
+ * Unless {@link ICellRange.SparseBuilderOptions.allowUnorderedWrites} is `true` the updates must be written
1712
+ * in row-major or column-major order as determined by {@link IRange.Axis}, with major/minor
1713
+ * coordinates increasing on each update, otherwise an error will be thrown.
1714
+ *
1715
+ * @example
1716
+ * ```typescript
1717
+ * const builder = range.createSparseBuilder();
1718
+ * builder.pushAt(1, 1, "Hello"); // as row, column, primitive - fastest
1719
+ * builder.push({ rowIndex: 2, colIndex: 1 }, { value: "Beautiful" }); // as coordinate and json object
1720
+ * builder.push('A3', { value: "World" }); // as a1 string and json
1721
+ * builder.apply();
1722
+ * ```
1723
+ * @template S - The return type of {@link apply}, typically the source range (`ICellRange`).
1724
+ * @see {@link ICellRange.createSparseBuilder}
1725
+ */
1726
+ interface SparseBuilder<S = ICellRange> {
1727
+ /**
1728
+ * Adds an update at a specific cell address.
1729
+ *
1730
+ * @param address The cell address to update. See {@link ICell.Address}.
1731
+ * @param update The update to apply. See {@link ICell.Update}.
1732
+ * @throws `Error` If the coordinates are out of order compared to previously added coordinates.
1733
+ * @returns The current `SparseBuilder` instance for chaining.
1734
+ */
1735
+ push(address: ICell.Address, update: ICell.Update): this;
1736
+ /**
1737
+ * Adds an update at a specific major (row) and minor (column) index.
1738
+ *
1739
+ * This method is slightly faster than {@link push} as it bypasses address parsing.
1740
+ *
1741
+ * @param row The row index of the cell to update.
1742
+ * @param col The column index of the cell to update.
1743
+ * @param update The update to apply. See {@link ICell.Update}.
1744
+ * @throws `Error` If the coordinates are out of order compared to previously added coordinates.
1745
+ * @returns The current `SparseBuilder` instance for chaining.
1746
+ */
1747
+ pushAt(row: number, col: number, update: ICell.Update): this;
1748
+ /**
1749
+ * Adds multiple updates for contiguous cells along the minor axis (columns), starting at the specified indices.
1750
+ *
1751
+ * @param row The row index of the starting cell.
1752
+ * @param col The column index of the starting cell.
1753
+ * @param updates An array of updates to apply to contiguous cells.
1754
+ * @throws `Error` If the coordinates are out of order compared to previously added coordinates.
1755
+ * @returns The current `SparseBuilder` instance for chaining.
1756
+ */
1757
+ pushMultipleAt(row: number, col: number, updates: ICell.Update[]): this;
1758
+ /**
1759
+ * Finalizes and applies all queued updates to the range.
1760
+ *
1761
+ * This method commits the changes added via {@link push}, {@link pushAt}, or {@link pushMultipleAt}.
1762
+ *
1763
+ * @returns The source object, typically the range (`ICellRange`).
1764
+ */
1765
+ apply(options?: ICellRange.UpdateCellsOptions): S;
1766
+ }
1767
+ interface SparseBuilderOptions {
1768
+ /**
1769
+ * The axis to write.
1770
+ */
1771
+ axis?: IRange.Axis;
1772
+ /**
1773
+ * Allowing unordered writes is slower but relaxes the rule that the updates must be written in order.
1774
+ *
1775
+ * @defaultValue false
1776
+ */
1777
+ allowUnorderedWrites?: boolean | ICellRange.UpdateCellsOptions;
1778
+ }
1779
+ /**
1780
+ * Options for {@link ICellRange.merge}.
1781
+ */
1782
+ interface MergeOptions extends SetValuesOptions {
1783
+ /**
1784
+ * The axes of the merge.
1785
+ *
1786
+ * @defaultValue IRange.AxisSelection.Both
1787
+ */
1788
+ axes?: IRange.AxisSelection;
1789
+ /**
1790
+ * If `true` then merge will merge even if there is more than one value.
1791
+ *
1792
+ * @defaultValue false
1793
+ */
1794
+ discardMultipleValues?: boolean;
1795
+ }
1796
+ /**
1797
+ * Options for {@link ICellRange.textToColumns}.
1798
+ */
1799
+ interface TextToColumnsOptions extends ITransaction.OperationOptions {
1800
+ /**
1801
+ * The character used to split the text.
1802
+ *
1803
+ * @defaultValue System looks for string with one of the following.
1804
+ *
1805
+ * @remarks
1806
+ * Common delimiters include `,` (comma), `;` (semicolon), `\t` (tab), or ` ` (space).
1807
+ */
1808
+ delimiter?: string;
1809
+ /**
1810
+ * The character used to enclose text strings that may contain the delimiter.
1811
+ *
1812
+ * @defaultValue `"` (double quote)
1813
+ *
1814
+ * @remarks
1815
+ * Characters found inside the qualifier are treated as literal text rather than delimiters.
1816
+ * For example, if the delimiter is a comma, `"Doe, John"` will remain one cell rather than splitting into two.
1817
+ * Set this to an empty string to disable text qualification.
1818
+ */
1819
+ textQualifier?: string;
1820
+ /**
1821
+ * Determines how empty fields are split.
1822
+ *
1823
+ * @defaultValue false
1824
+ *
1825
+ * * - If `false` (default): Consecutive delimiters are treated as a single break.
1826
+ * Empty fields between delimiters are ignored/merged.
1827
+ * - If `true`: Every delimiter creates a new column.
1828
+ * Consecutive delimiters will result in empty strings ("") in the output.
1829
+ *
1830
+ * * @remarks
1831
+ * This is the inverse of Excel's "Treat consecutive delimiters as one" option.
1832
+ * * @example
1833
+ * // Input string: "Apple,,Banana" (Delimiter is comma)
1834
+ * * // When preserveEmptyFields is false (Default):
1835
+ * // Result: ["Apple", "Banana"]
1836
+ * * // When preserveEmptyFields is true:
1837
+ * // Result: ["Apple", "", "Banana"]
1838
+ */
1839
+ preserveEmptyFields?: boolean;
1840
+ /**
1841
+ * The destination range where the split columns will be placed.
1842
+ *
1843
+ * @remarks
1844
+ * If not specified, the operation will start at the the original range top left.
1845
+ * If the destination range overlaps with the source range, the behavior will depend on the `replaceExisting` option:
1846
+ * - If `replaceExisting` is `true`, the operation will proceed, and any existing data in the destination range will be overwritten.
1847
+ * - If `replaceExisting` is `false` (default), and there is an overlap with non-empty cells, the operation will throw an error to prevent data loss.
1848
+ */
1849
+ destination?: ICellRange.Address;
1850
+ /**
1851
+ * If `true`, the operation will overwrite existing data in the destination columns without warning.
1852
+ *
1853
+ * @defaultValue `false`
1854
+ *
1855
+ * @remarks
1856
+ * * The source row will be split..
1857
+ * * If this is `false` (default) and non-empty cells exist in the output range,
1858
+ * the operation will throw an error to prevent data loss.
1859
+ */
1860
+ replaceExisting?: boolean;
1861
+ }
1862
+ /**
1863
+ * Options for {@link ICellRange.removeDuplicates}.
1864
+ */
1865
+ interface RemoveDuplicatesOptions extends ITransaction.OperationOptions {
1866
+ /**
1867
+ * Indicates if the range has a header row.
1868
+ *
1869
+ * @defaultValue false
1870
+ *
1871
+ * @remarks
1872
+ * If `true`, the first row of the range will be treated as a header and excluded from duplicate removal.
1873
+ */
1874
+ hasHeader?: boolean;
1875
+ /**
1876
+ * A list of columns to consider for duplicate removal.
1877
+ *
1878
+ * @defaultValue all columns
1879
+ *
1880
+ * @remarks
1881
+ * If this is a number it will be a number relative to the range if a string it will be a column
1882
+ * identifier that is resolved.
1883
+ */
1884
+ columns?: (number | string)[];
1885
+ }
1886
+ /**
1887
+ * Options use for filtering elements during a find.
1888
+ */
1889
+ interface FindCriteria {
1890
+ /**
1891
+ * If `true` then the text search is case sensitive.
1892
+ *
1893
+ * @defaultValue false
1894
+ */
1895
+ matchCase?: boolean;
1896
+ /**
1897
+ * If `true` the text must match the entire cell to be true.
1898
+ *
1899
+ * @defaultValue false
1900
+ */
1901
+ matchEntireCell?: boolean;
1902
+ /**
1903
+ * Determines whether the find operation should treat the search text as a regular expression (RegEx).
1904
+ *
1905
+ * @defaultValue false
1906
+ *
1907
+ * @remarks
1908
+ * When `true`, the search text will be interpreted as a regular expression (RegEx), allowing for
1909
+ * advanced pattern matching.
1910
+ *
1911
+ * If `false`, the find operation will not use RegEx but will support three wildcard characters
1912
+ * for flexible searching:
1913
+ *
1914
+ * - `?` (question mark): Matches any single character.
1915
+ * - `*` (asterisk): Matches any number of characters, including zero.
1916
+ * - `~` (tilde followed by `?`, `*`, or `~`): Escapes the wildcard characters (`?` or `*`) to allow
1917
+ * searching for these literal characters in the text.
1918
+ *
1919
+ * Example usage:
1920
+ * ``` ts
1921
+ * // Search for text matching a RegEx pattern
1922
+ * const results: Iterator<ICell> = range.find({ text: "\\d+", useRegex: true }); // Finds numeric values
1923
+ *
1924
+ * // Search for text using wildcards
1925
+ * const results: Iterator<ICell> = range.find({ text: "abc*", useRegex: false }); // Finds text starting with "abc"
1926
+ * ```
1927
+ */
1928
+ useRegex?: boolean;
1929
+ /**
1930
+ * An enum of the types of values to search within each field.
1931
+ *
1932
+ * @defaultValue `[FindField.Formulas]`
1933
+ */
1934
+ fields?: ICell.Content[];
1935
+ }
1936
+ /**
1937
+ * Options for {@link ICellRange.find}.
1938
+ */
1939
+ interface FindOptions extends FindCriteria {
1940
+ /**
1941
+ * The text to search for.
1942
+ */
1943
+ text: string;
1944
+ /**
1945
+ * Provides custom logic for matching values during the find operation.
1946
+ *
1947
+ * @param value The current cell value being checked against the `criteria`.
1948
+ * @param matchDefault A default implementation of the find operation's matching logic.
1949
+ * You can call this in your custom logic to fall back to the default behavior if needed.
1950
+ * @param criteria The criteria that the find operation is trying to match.
1951
+ * This is typically defined by the user and passed to the find method.
1952
+ * @param context Contextual information about the cell, such as its address or value-related utilities.
1953
+ * See {@link ICell.IteratorContext} for more details.
1954
+ * @returns A boolean indicating if the `value` satisfies the `criteria`.
1955
+ *
1956
+ * @remarks
1957
+ * If `matchCustom` is provided, this function will override the default matching logic for the find operation.
1958
+ * Use it to implement custom search rules, while the `matchDefault` can be used as a fallback for standard criteria.
1959
+ *
1960
+ * Example usage:
1961
+ * ``` ts
1962
+ * const options = {
1963
+ * matchCustom: (value, matchDefault, criteria, context) => {
1964
+ * // Custom match logic
1965
+ * if (typeof value === 'string' && value.includes('important')) {
1966
+ * return true;
1967
+ * }
1968
+ * // Fallback to default match
1969
+ * return matchDefault();
1970
+ * }
1971
+ * };
1972
+ * ```
1973
+ */
1974
+ matchCustom?: (value: Scalar, matchDefault: () => boolean, criteria: FindCriteria, context: ICell.IteratorContext) => boolean;
1975
+ /**
1976
+ * Specifies the direction of the search.
1977
+ *
1978
+ * @defaultValue IRange.Axis.Row
1979
+ */
1980
+ axis?: IRange.Axis;
1981
+ /**
1982
+ * If `true`, the search will proceed in reverse order.
1983
+ *
1984
+ *
1985
+ * @defaultValue false
1986
+ */
1987
+ reverse?: boolean;
1988
+ /**
1989
+ * The starting point for the search. If not provided, the search will start
1990
+ * from the top left corner of the range, or from the bottom right if `reverse` is true.
1991
+ *
1992
+ * @defaultValue top left corner or bottom right if reverse
1993
+ */
1994
+ from?: ICell.Address;
1995
+ /**
1996
+ * If `true`, the search will not wrap around to the beginning of the range after reaching
1997
+ * the end. By default, the search will wrap.
1998
+ *
1999
+ * @defaultValue false
2000
+ */
2001
+ disableWrap?: boolean;
2002
+ }
2003
+ /**
2004
+ * Represents an immutable reference to an `ICellRange`, capturing its content and metadata.
2005
+ * It may include complex objects such as tables, movables, images, listeners, or other items.
2006
+ *
2007
+ * `ISnapshot` can be provided to `ICellRange.copyFrom``.
2008
+ */
2009
+ interface ISnapshot<T = any, J = any> {
2010
+ /**
2011
+ * Copies the snapshot to the specified range.
2012
+ *
2013
+ * @param destination The destination `ICellRange` where the snapshot will be copied.
2014
+ *
2015
+ * @returns A promise that resolves when the copy is complete, or `void` if no asynchronous operation is required.
2016
+ */
2017
+ copyTo(destination: ICellRange, options?: ICellRange.CopyOptions): Promise<IRange.Coords | null> | IRange.Coords | null;
2018
+ /**
2019
+ * Return the options used when creating.
2020
+ * @remarks
2021
+ * This is done so that we can create a copy.
2022
+ */
2023
+ getMarkOptions(): ICellRange.CopyOptions;
2024
+ /**
2025
+ * Retrieves the coordinates that bound the current snapshot.
2026
+ *
2027
+ * @returns The `IRange.Coords` defining the bounds of the snapshot.
2028
+ */
2029
+ getCoords?(): Readonly<IRange.Coords>;
2030
+ /**
2031
+ * Converts the snapshot to a plain text representation.
2032
+ *
2033
+ * @returns A string or promise resolving to the text representation of the snapshot.
2034
+ */
2035
+ toText?(): Promise<string> | string;
2036
+ /**
2037
+ * Converts the snapshot to an HTML representation.
2038
+ *
2039
+ * @returns A string or promise resolving to the HTML representation of the snapshot.
2040
+ */
2041
+ toHtml?(): Promise<string> | string;
2042
+ /**
2043
+ * Converts the snapshot to an image blob.
2044
+ *
2045
+ * @returns A `Blob` or promise resolving to the image representation of the snapshot.
2046
+ */
2047
+ toImage?(): Promise<Blob> | Blob;
2048
+ /**
2049
+ * Converts the snapshot to a JSON object.
2050
+ *
2051
+ * @returns A JSON object or promise resolving to the JSON representation of the snapshot.
2052
+ */
2053
+ toJSON?(): Promise<J> | J;
2054
+ /**
2055
+ * The source that created the snapshot.
2056
+ * This is used by copy to quickly do comparisons.
2057
+ */
2058
+ getSource(): T;
2059
+ /**
2060
+ * A user friendly name of a the snapshot item.
2061
+ */
2062
+ getName?(): string;
2063
+ /**
2064
+ * For runtime type checking.
2065
+ */
2066
+ readonly isISnapshot: true;
2067
+ }
2068
+ /**
2069
+ * Callback used for visiting a collection of cells. If break is returned the visiting will stop with the
2070
+ * break value returned.
2071
+ *
2072
+ * The context allows for the retrieval of additional information associated with the Cell include the
2073
+ * {@link ICell} object.
2074
+ */
2075
+ interface ForEachCallback<T = any> {
2076
+ (value: Scalar, context: ICell.IteratorContext): {
2077
+ break: T;
2078
+ } | void;
2079
+ }
2080
+ /**
2081
+ * The public feature vocabulary — what a cell or range *carries*, as a queryable dimension.
2082
+ *
2083
+ * @remarks
2084
+ * This is the agent-facing read vocabulary: `getCounts`, `getRegions` and `isContentful`
2085
+ * select by it, and the agent read tools (grep, the regions read) use the same words. It is deliberately distinct
2086
+ * from {@link ICell.Content}, the *transfer* vocabulary (`clear`, `copyFrom`) — "paste formats" is a
2087
+ * coarse transfer bucket, while querying wants the split parts (`Fill`, `Border`,
2088
+ * `NumberFormat`…). One enum serving both jobs is how the vocabulary got muddy the first time.
2089
+ *
2090
+ * Members map onto the engine's per-feature spatial indexes. The mapping is internal and not
2091
+ * one-to-one: several features may project from one index (`NumberFormat`/`Alignment`/`Font`
2092
+ * over the content-style map). `Notes` joins when the backing is implemented; a feature that
2093
+ * silently reports nothing is worse than a missing one.
2094
+ *
2095
+ * `String`/`Number`/`Boolean` are deliberately absent, even though they are real `ScalarType`
2096
+ * values. This vocabulary is for things with a spatial identity — a fill, a formula, an
2097
+ * occupied cell — and a scalar kind has none: it is read straight off the value, which is
2098
+ * exactly the one pass `IRangeStats.getTypedCounts()` already makes, richer (it composes with
2099
+ * aggregates and frequencies for free, in the same call). `getCounts`/`getRegions`/
2100
+ * `isContentful` were never the right vocabulary for "how many numbers" — `range.getStats()` is.
2101
+ *
2102
+ * `Error` stays, for a reason unrelated to the above: it has real spatial identity of its own
2103
+ * (the reconciled error view) and partitions like any stored feature — it was never in the same
2104
+ * boat as the other three. `DateFormat` stays too, but as exactly what its name says: a
2105
+ * formatting predicate, the same tier as `NumberFormat`/`Alignment`/`Font`, not a value kind — it
2106
+ * answers *"does this cell carry a date-category number format"*, nothing about what the value
2107
+ * underneath actually is. A caller after "how many cells are genuinely dates" (numeric value AND
2108
+ * that format) composes it: `DateFormat` regions intersected with `getStats().getTypedCounts()`'s
2109
+ * `Number` — there is deliberately no single feature that already does that intersection, because
2110
+ * "is this a date" is a computed fact about a cell's *value*, read through `getInteropType()`, not
2111
+ * a thing this vocabulary partitions on.
2112
+ */
2113
+ const Feature: {
2114
+ /**
2115
+ * Occupancy — splits on blank/non-blank, Excel `CurrentRegion` semantics.
2116
+ */
2117
+ readonly Contentful: "contentful";
2118
+ /**
2119
+ * Direct date-category number format — `yyyy-mm-dd`, `mm/dd/yyyy`, and the like.
2120
+ *
2121
+ * @remarks
2122
+ * A formatting predicate, not a value kind: a blank cell or a text cell formatted this way
2123
+ * carries `DateFormat` too, the same way a blank cell can carry `Fill`. It says nothing about
2124
+ * whether the cell holds a genuine date — that is a question about the VALUE (numeric value
2125
+ * under this format), answered by `getInteropType()` on the cell, not by this feature. See
2126
+ * this enum's own remarks for why the two are kept apart rather than fused into one "Date"
2127
+ * concept.
2128
+ */
2129
+ readonly DateFormat: "dateFormat";
2130
+ /** Scalar kind: error values (`#DIV/0!`, `#N/A`, …), literal or calculated. */
2131
+ readonly Error: "error";
2132
+ /** Has a formula. Regions group by canonical R1C1 — a shared formula block is one region. */
2133
+ readonly Formula: "formula";
2134
+ /** Cells inside a dynamic-array spill zone. Writing into one is a real failure mode. */
2135
+ readonly Spills: "spills";
2136
+ /**
2137
+ * Evaluated state: cells whose calculation itself failed — mostly circular references.
2138
+ * Distinct from {@link Feature.Error}: `#DIV/0!` is a successfully calculated error VALUE
2139
+ * (the `Error` kind); `CalcError` is the engine failing to evaluate at all.
2140
+ */
2141
+ readonly CalcError: "calcError";
2142
+ /** Direct fill. */
2143
+ readonly Fill: "fill";
2144
+ /** Direct borders. */
2145
+ readonly Border: "border";
2146
+ /** Direct number format. Region payloads carry the format string and its category. */
2147
+ readonly NumberFormat: "numberFormat";
2148
+ /** Direct alignment. */
2149
+ readonly Alignment: "alignment";
2150
+ /** Direct font. */
2151
+ readonly Font: "font";
2152
+ /** Merged spans. */
2153
+ readonly Merge: "merge";
2154
+ /** Table membership. */
2155
+ readonly Table: "table";
2156
+ /** Auto-table membership. */
2157
+ readonly AutoTable: "autoTable";
2158
+ /** Has a hyperlink. */
2159
+ readonly Hyperlink: "hyperlink";
2160
+ /** Has comments. */
2161
+ readonly Comments: "comments";
2162
+ /** Explicitly unlocked cells — *can I write here* is a precondition, not a detail. */
2163
+ readonly Unlock: "unlock";
2164
+ /** Cells under conditional-format rules. */
2165
+ readonly Conditionals: "conditionals";
2166
+ /** Cells under data-validation rules. */
2167
+ readonly DataValidations: "dataValidations";
2168
+ };
2169
+ type Feature = typeof Feature[keyof typeof Feature];
2170
+ /**
2171
+ * Per-feature cell counts.
2172
+ *
2173
+ * @remarks
2174
+ * Total, not partial — every public {@link ICellRange.Feature} is present, absent features
2175
+ * as explicit zeros. A zero is a fact about the range; a missing key would be ambiguous.
2176
+ *
2177
+ * The brand is non-enumerable: `Object.keys`/`entries` yield exactly the feature keys.
2178
+ */
2179
+ interface Counts extends Readonly<Record<ICellRange.Feature, number>> {
2180
+ /**
2181
+ * For runtime type checking.
2182
+ */
2183
+ readonly isICellRangeCounts: true;
2184
+ }
2185
+ /**
2186
+ * Options for {@link ICellRange.getRegions}.
2187
+ *
2188
+ * @remarks
2189
+ * The traversal keys are the standard {@link ICellRange.IteratorOptions} ones, meaning what
2190
+ * they mean everywhere else. `features` is the same list as the positional argument — for a
2191
+ * partition, the features resolved and the features partitioned on are necessarily one list —
2192
+ * so the argument is simply its shorthand.
2193
+ *
2194
+ * **`Pick`, not `Omit`, and deliberately.** A partition is not a cell visitation, so the rest
2195
+ * of `IteratorOptions` has nothing to act on: `includeEmpty` (regions come from the feature
2196
+ * indexes, and the blank side of the partition is not yielded at all), `reuseContext` and
2197
+ * `includeMergeOverflow` (there is no per-cell `IteratorContext` to reuse or overflow into),
2198
+ * `injectReferences` (which ignores features by its own contract), and `address` (the queried
2199
+ * range IS the bounds — a second one would be ambiguous). Widening to `Omit` would advertise
2200
+ * five options that silently do nothing, and a feature that silently reports nothing is worse
2201
+ * than a missing one.
2202
+ */
2203
+ interface GetRegionsOptions extends Pick<ICellRange.IteratorOptions, 'features' | 'axis' | 'reverse' | 'ignoreHidden'> {
2204
+ /**
2205
+ * How a stored feature block must relate to the queried range to be included.
2206
+ *
2207
+ * @defaultValue 'intersects' — blocks straddling the boundary are included, clipped to the
2208
+ * range. `'fullyContained'` yields only blocks entirely inside it.
2209
+ */
2210
+ containment?: 'intersects' | 'fullyContained';
2211
+ }
2212
+ interface ScrollIntoViewOptions extends globalThis.ScrollIntoViewOptions {
2213
+ /**
2214
+ * If provided then will only scroll in the provided axis.
2215
+ *
2216
+ * @remarks
2217
+ * This is useful for only scrolling vertically or horizontally for insert/deleteCells
2218
+ */
2219
+ axis?: IRange.Axis;
2220
+ }
2221
+ /**
2222
+ * Extends SelectionOptions to include the option to adjust the anchor cell.
2223
+ */
2224
+ interface SelectOptions extends ITypes.SelectOptions {
2225
+ /**
2226
+ * If `true` then the anchor cell will be adjusted to the top-left cell of the range.
2227
+ *
2228
+ * @defaultValue false
2229
+ *
2230
+ * @remarks
2231
+ * If the current anchor is not within the current range this will be forced to `true`.
2232
+ */
2233
+ anchor?: boolean | Partial<IRange.CellCoords>;
2234
+ /**
2235
+ * If `true` or if a valid `ScrollIntoViewOptions` object is provided,
2236
+ * the selected element will be scrolled into view.
2237
+ *
2238
+ * @remarks
2239
+ * - If a `ScrollIntoViewOptions` object is provided, it will control the exact scrolling behavior.
2240
+ * - If `false` (or omitted), the selected element will not be scrolled into view.
2241
+ *
2242
+ * @defaultValue false
2243
+ */
2244
+ scrollIntoView?: boolean | ICellRange.ScrollIntoViewOptions;
2245
+ /**
2246
+ * If `true`, the currently selected sheet will not change as part of the selection.
2247
+ * By default, selecting a range will also select its parent sheet, matching Excel behavior.
2248
+ *
2249
+ * @defaultValue false
2250
+ */
2251
+ preserveSelectedSheet?: boolean;
2252
+ }
2253
+ /**
2254
+ * Options for customizing how values are retrieved from a range and returned as a 2D array.
2255
+ */
2256
+ interface IteratorOptions<T = ICellRange.Address> {
2257
+ /**
2258
+ * The containing range coords for the scan.
2259
+ *
2260
+ * @remarks
2261
+ * If not specified will scan all of the data.
2262
+ */
2263
+ address?: T;
2264
+ /**
2265
+ * If `true` will visit empty cells.
2266
+ * This is a potentially huge performance improvement if set to `false`.
2267
+ *
2268
+ * @defaultValue false
2269
+ *
2270
+ * @remarks
2271
+ * If includeEmpty is `true` this will always return rectangular results.
2272
+ * If bounds are provided it will provide empty spaces before and after.
2273
+ * If passing a large bound care must be taken.
2274
+ */
2275
+ includeEmpty?: boolean;
2276
+ /**
2277
+ * When scanning skip cells that are hidden via headers.
2278
+ *
2279
+ * @defaultValue false
2280
+ *
2281
+ * @remarks
2282
+ * Optionally a header axis for skipping case be passed in.
2283
+ * An example of this is for sorting where the sort direction (row) skips hidden rows but the column direction does not.
2284
+ */
2285
+ ignoreHidden?: boolean | IRange.Axis;
2286
+ /**
2287
+ * The features the iteration resolves and visits.
2288
+ *
2289
+ * @defaultValue all features
2290
+ *
2291
+ * @remarks
2292
+ * Two effects, both wins for a caller that does not need everything:
2293
+ * - The iterator only materializes the requested features' state onto the context — an
2294
+ * excluded feature is never even looked up.
2295
+ * - **Cells that exist only through an excluded feature are not visited at all.** A
2296
+ * fill-only cell does not appear in a `features` scan that excludes `Fill` — the render
2297
+ * path that only paints content stops receiving cells with nothing to paint.
2298
+ *
2299
+ * An empty list is the raw-value fast path — no feature state is resolved at all.
2300
+ */
2301
+ features?: ICellRange.Feature | readonly ICellRange.Feature[];
2302
+ /**
2303
+ * Includes any merge overflow in first element visited.
2304
+ *
2305
+ * @defaultValue false
2306
+ *
2307
+ * @remarks
2308
+ * If `true` any merges that fall outside of the range will be include in the top/left most cell that the
2309
+ * merge intersects. Useful for rendering merged cells when the top/left is outside the viewport.
2310
+ */
2311
+ includeMergeOverflow?: boolean;
2312
+ /**
2313
+ * The direction of the scan.
2314
+ * @defaultValue `IRange.Axis.Row`
2315
+ */
2316
+ axis?: IRange.Axis;
2317
+ /**
2318
+ * Iterate in reverse order.
2319
+ *
2320
+ * @defaultValue false
2321
+ */
2322
+ reverse?: boolean;
2323
+ /**
2324
+ * If set to `true` a single `IteratorContext` is reused for every visited cell instead of
2325
+ * allocating a new one per cell.
2326
+ *
2327
+ * @defaultValue false
2328
+ *
2329
+ * @remarks
2330
+ * This is a performance optimization for hot read paths (e.g. rendering).
2331
+ * **UNSAFE** for consumers that retain the `context` (or the `Entry`) past the next `next()`
2332
+ * call - the retained reference will reflect the most recently visited cell, not the one it was
2333
+ * captured at. Only enable this when the context is consumed inline within the visitor/loop body
2334
+ * (e.g. by calling `getCell()`, which snapshots the state).
2335
+ */
2336
+ reuseContext?: boolean;
2337
+ /**
2338
+ * Inject custom references for the iterator.
2339
+ *
2340
+ * @remarks
2341
+ * This is used to allow for iterators to inject custom references.
2342
+ *
2343
+ * * Ignores Features
2344
+ * * These will get available in the {@link ICell.IteratorContext.getInjectedReference}.
2345
+ * * Used when wanting to iterate over externally managed references
2346
+ * * **NOTE** - This is a 2D array.
2347
+ * * **NOTE** - The iterator treats values as read-only but the visitors may modify the references.
2348
+ */
2349
+ injectReferences?: IRange.JSONReference<any>[][];
2350
+ }
2351
+ interface Event {
2352
+ /**
2353
+ * The source of the event. This will be a readonly range.
2354
+ *
2355
+ * @remarks
2356
+ * This may change shape due to insert/delete/move of cells or sheets.
2357
+ */
2358
+ getSource<T = ICellRange | ICellRanges>(): T;
2359
+ /**
2360
+ * This is the range of data that has been changed.
2361
+ *
2362
+ * @remarks
2363
+ * This is different than the source range as that is the entire range area that was listened to.
2364
+ */
2365
+ getFrom(): ICellRanges;
2366
+ /**
2367
+ * Used for moves. Represents the new location of the data that has changed.
2368
+ */
2369
+ getTo?(): ICellRange;
2370
+ /**
2371
+ * Returns a list of updates that occurred during the event. This is only available for data change events and will be `null` for address or restore events.
2372
+ */
2373
+ /**
2374
+ * Indicates the type of change that triggered the event.
2375
+ *
2376
+ * @remarks
2377
+ * * `'data'`: Data within the range has changed.
2378
+ * The range's address and dimensions remain the same.
2379
+ * * `'address'`: The range's *address* or *dimensions* have changed. This
2380
+ * occurs due to row/column insertions, deletions, or move operations.
2381
+ * * `'restore'`: The range has been restored to a different revision
2382
+ * (undo/redo). The 'restore' trigger is not available for transactional listeners.
2383
+ */
2384
+ readonly trigger2?: 'data' | 'address' | 'restore';
2385
+ readonly trigger: string;
2386
+ /**
2387
+ * Indicates if the event is being fired from an undo event.
2388
+ */
2389
+ readonly isUndo?: boolean;
2390
+ /**
2391
+ * Returns the transaction Id if the event is occurring in a transaction otherwise `null`.
2392
+ *
2393
+ * @see
2394
+ * {@link ListenerOptions.getTransactionId}
2395
+ */
2396
+ getTransactionId(): string | null;
2397
+ /**
2398
+ * Indicates if the event is being fired due to a cell value change.
2399
+ *
2400
+ * @see
2401
+ * {@link ListenerOptions.ignoreDataChanges}
2402
+ */
2403
+ readonly isDataChange?: boolean;
2404
+ /**
2405
+ * To string the event.
2406
+ */
2407
+ toString(): string;
2408
+ /**
2409
+ * The timestamp of the event.
2410
+ */
2411
+ readonly timeStamp: number;
2412
+ }
2413
+ /**
2414
+ * Represents a listen for a range. The listener will be called when the range's
2415
+ * data, address, or restore state changes, subject to the provided options.
2416
+ *
2417
+ * @remarks
2418
+ * If the range is deleted (rows/columns removed), the trigger will be `'address'`
2419
+ * `trigger` of `'address'` and `getRange().getError()`
2420
+ * returning `"#REF!"`.
2421
+ *
2422
+ * If the ranges is restored to a revision *before* the listener was
2423
+ * added, the listener will receive event with a `trigger` of `'restore'`
2424
+ * and `getRange().getError()` returning `"#N/A"`.
2425
+ */
2426
+ interface Listener {
2427
+ (event: ICellRange.Event): void;
2428
+ }
2429
+ /**
2430
+ * Receives a watch's results — one value per cell of the watched range, read with LOCAL
2431
+ * coordinates (`getValueAt(0, 0)` is the range's top-left).
2432
+ *
2433
+ * @see {@link ICellRange.addWatch}
2434
+ *
2435
+ * @remarks
2436
+ * A cell whose evaluation errored carries the error as its value, the same as any block
2437
+ * evaluation; the watch does not fail as a whole because one cell did.
2438
+ */
2439
+ interface WatchCallback {
2440
+ (values: IRange): void;
2441
+ }
2442
+ /**
2443
+ * Options to control which events trigger a listener. By default, all
2444
+ * event types will trigger the listener. Setting any of these options to
2445
+ * `true` will *prevent* the listener from being called for that event type.
2446
+ */
2447
+ interface ListenerOptions {
2448
+ /**
2449
+ * The actual range can also change due to insert/removes or delete of a sheet.
2450
+ * Setting absoluteCoords to `true` will ignore shifts in the range.
2451
+ *
2452
+ * @defaultValue false
2453
+ */
2454
+ ignoreShifts?: boolean;
2455
+ /**
2456
+ * If `true`, the listener will *not* be called when the range's
2457
+ * address changes (due to row/column insert/delete, or moves)
2458
+ *
2459
+ * @defaultValue false
2460
+ */
2461
+ ignoreAddressChanges?: boolean;
2462
+ /**
2463
+ * If `true`, the listener will be treated as *transactional*. This has
2464
+ * a few implications:
2465
+ *
2466
+ * 1. **Synchronous Execution:** The listener will be called *synchronously*
2467
+ * as part of the same transaction that triggered the event. Any
2468
+ * side-effects of the listener will be included in the transaction's
2469
+ * commit history.
2470
+ * 2. **No 'restore' Events:** Transactional listeners will *never* receive
2471
+ * 'restore' events. They are only concerned with changes within the
2472
+ * current transaction.
2473
+ *
2474
+ * If `false` (the default), the listener will be called *asynchronously*
2475
+ * after the transaction is complete. The listener's side-effects will
2476
+ * *not* be part of the transaction's commit history.
2477
+ *
2478
+ * @defaultValue false
2479
+ */
2480
+ transactional?: boolean;
2481
+ /**
2482
+ * If `true`, the listener will *not* be called when the data
2483
+ * within the range changes.
2484
+ *
2485
+ * @defaultValue false
2486
+ */
2487
+ ignoreDataChanges?: boolean;
2488
+ /**
2489
+ * If `true` then the listener will be weakly and will be auto removed it the listener is gc'ed.
2490
+ *
2491
+ * @defaultValue false
2492
+ */
2493
+ weakly?: boolean;
2494
+ /**
2495
+ * If `true` then will auto deregister once fired.
2496
+ */
2497
+ once?: boolean;
2498
+ }
2499
+ /**
2500
+ * Entry for ICellRange when iterator or visiting.
2501
+ */
2502
+ interface Entry<T = Scalar> {
2503
+ /** {@inheritDoc Scalar} */
2504
+ value: T;
2505
+ /** {@inheritDoc ICell.IteratorContext} */
2506
+ context: ICell.IteratorContext;
2507
+ }
2508
+ }
2509
+ //# sourceMappingURL=ICellRange.d.ts.map