@shbernal/ts-xlsx 3.2.2-next.23.g1328014 → 3.2.2-next.24.g38fae0e

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 (53) hide show
  1. package/dist/core/address.d.ts +16 -16
  2. package/dist/core/cell.d.ts +1 -1
  3. package/dist/core/column.d.ts +2 -2
  4. package/dist/core/comment-thread.d.ts +2 -2
  5. package/dist/core/conditional-formatting-overlay.d.ts +1 -1
  6. package/dist/core/conditional-formatting.d.ts +2 -2
  7. package/dist/core/data-validation-overlay.d.ts +1 -1
  8. package/dist/core/date-format.d.ts +1 -1
  9. package/dist/core/formula.d.ts +1 -1
  10. package/dist/core/hyperlink.d.ts +2 -2
  11. package/dist/core/range.d.ts +2 -2
  12. package/dist/core/row.d.ts +3 -3
  13. package/dist/core/table-style.d.ts +2 -2
  14. package/dist/core/text-metrics.d.ts +1 -1
  15. package/dist/core/theme.d.ts +1 -1
  16. package/dist/core/value.d.ts +1 -1
  17. package/dist/core/workbook-media.d.ts +1 -1
  18. package/dist/core/workbook.d.ts +15 -15
  19. package/dist/core/worksheet-merges.d.ts +3 -3
  20. package/dist/core/worksheet.d.ts +27 -27
  21. package/dist/customui/ribbon.d.ts +1 -1
  22. package/dist/errors.d.ts +5 -5
  23. package/dist/io/csv/delimiter.d.ts +2 -2
  24. package/dist/io/csv/read.d.ts +1 -1
  25. package/dist/io/csv/write.d.ts +3 -3
  26. package/dist/io/opc/inflate.d.ts +4 -4
  27. package/dist/io/read-policy/read-repair.d.ts +1 -1
  28. package/dist/io/style/xf-style.d.ts +4 -4
  29. package/dist/io/xlsb/formula.d.ts +2 -2
  30. package/dist/io/xlsb/read-metadata.d.ts +1 -1
  31. package/dist/io/xlsb/read-worksheet.d.ts +5 -5
  32. package/dist/io/xlsb/read.d.ts +3 -3
  33. package/dist/io/xlsb/record-stream.d.ts +1 -1
  34. package/dist/io/xlsx/edit-vba.d.ts +6 -6
  35. package/dist/io/xlsx/images.d.ts +1 -1
  36. package/dist/io/xlsx/package-plan.d.ts +2 -2
  37. package/dist/io/xlsx/read-rich-runs.d.ts +9 -7
  38. package/dist/io/xlsx/read-rows.d.ts +10 -10
  39. package/dist/io/xlsx/read.d.ts +3 -3
  40. package/dist/io/xlsx/row-xml.d.ts +4 -3
  41. package/dist/io/xlsx/theme-xml.d.ts +4 -4
  42. package/dist/io/xlsx/threaded-comments.d.ts +1 -1
  43. package/dist/io/xlsx/write-stream.d.ts +2 -2
  44. package/dist/io/xlsx/write.d.ts +3 -3
  45. package/dist/vba/bytes.d.ts +2 -2
  46. package/dist/vba/cfb-writer.d.ts +1 -1
  47. package/dist/vba/dir-records.d.ts +2 -2
  48. package/dist/vba/ms-ovba.d.ts +1 -1
  49. package/dist/vba/project-editor.d.ts +4 -4
  50. package/dist/vba/vba-encoding.d.ts +2 -2
  51. package/dist/xml/xml-read.d.ts +1 -1
  52. package/dist/xml/xml.d.ts +5 -5
  53. package/package.json +3 -1
@@ -15,12 +15,12 @@ export declare const MAX_ROW_INDEX: number;
15
15
  /**
16
16
  * Refuse a coordinate that names no position on the grid.
17
17
  *
18
- * @throws {RangeError} unless `value` is an integer within the axis's bounds.
18
+ * @throws RangeError unless `value` is an integer within the axis's bounds.
19
19
  */
20
20
  export declare function assertAxisInBounds(axis: 'row' | 'column', value: number): void;
21
- /** @throws {RangeError} unless `n` is an integer in `1..MAX_COLUMN`. */
21
+ /** @throws RangeError unless `n` is an integer in `1..MAX_COLUMN`. */
22
22
  export declare function assertColumnInBounds(n: number): void;
23
- /** @throws {RangeError} unless `n` is an integer in `1..MAX_ROW`. */
23
+ /** @throws RangeError unless `n` is an integer in `1..MAX_ROW`. */
24
24
  export declare function assertRowInBounds(n: number): void;
25
25
  /**
26
26
  * A rectangular block of the grid, as **inclusive** 1-based bounds on both axes.
@@ -70,7 +70,7 @@ export interface RangeAddress {
70
70
  }
71
71
  /** Convert a 1-based column number to its letters (`1 → "A"`, `27 → "AA"`).
72
72
  *
73
- * @throws {RangeError} unless `n` is an integer in `1..MAX_COLUMN`. */
73
+ * @throws RangeError unless `n` is an integer in `1..MAX_COLUMN`. */
74
74
  export declare function numberToColumn(n: number): string;
75
75
  /**
76
76
  * Convert column letters to a 1-based number (`"A" → 1`, `"AA" → 27`), or `undefined` when they name
@@ -82,7 +82,7 @@ export declare function tryColumnToNumber(letters: string): number | undefined;
82
82
  /**
83
83
  * Convert column letters to a 1-based number (`"A" → 1`, `"AA" → 27`).
84
84
  *
85
- * @throws {RangeError} if the letters are malformed or name a column past `XFD`. The two are
85
+ * @throws RangeError if the letters are malformed or name a column past `XFD`. The two are
86
86
  * separate messages because a caller fixes them differently.
87
87
  */
88
88
  export declare function columnToNumber(letters: string): number;
@@ -99,11 +99,11 @@ export declare function encodeCornerRef(col: number | undefined, row: number | u
99
99
  * A bounded rectangle as its canonical `tl:br` A1 range, `"B2:D5"`. A one-cell rectangle still reads
100
100
  * as `"B2:B2"`, which is the form Excel writes and the form every consumer of these refs parses.
101
101
  *
102
- * The rendering half of {@link boundedRect}, and it belongs beside it for the same reason: ten sites
103
- * spelled `` `${encodeAddress(left, top)}:${encodeAddress(right, bottom)}` `` by hand, and the risk in
104
- * that expression is not its length but its argument order. `encodeAddress` takes column first and a
105
- * rectangle names its rows first, so the two orders are transposed with respect to each other at every
106
- * one of those sites.
102
+ * The rendering half of {@link boundedRect}, and it belongs beside it for the same reason: ten
103
+ * sites spelled the template `${encodeAddress(left, top)}:${encodeAddress(right, bottom)}` by hand,
104
+ * and the risk in that expression is not its length but its argument order. `encodeAddress` takes
105
+ * column first and a rectangle names its rows first, so the two orders are transposed with respect
106
+ * to each other at every one of those sites.
107
107
  */
108
108
  export declare function encodeRect(rect: GridRect): string;
109
109
  /**
@@ -116,8 +116,8 @@ export declare function encodeRange(rect: GridRect): string;
116
116
  * Decode a single cell/row/column reference into `{address, col, row}`. Anchoring
117
117
  * `$` signs are accepted and dropped; an absent axis is `undefined`.
118
118
  *
119
- * @throws {SyntaxError} if the reference mentions neither a column nor a row.
120
- * @throws {RangeError} if it names a column past `XFD` or a row outside `1..1048576`.
119
+ * @throws SyntaxError if the reference mentions neither a column nor a row.
120
+ * @throws RangeError if it names a column past `XFD` or a row outside `1..1048576`.
121
121
  */
122
122
  export declare function decodeAddress(reference: string): CellAddress;
123
123
  /**
@@ -133,8 +133,8 @@ export interface CellPosition {
133
133
  /**
134
134
  * Decode a reference that must name a single cell. Anchoring `$` signs are accepted and dropped.
135
135
  *
136
- * @throws {SyntaxError} if the reference is unparseable, or parses but omits an axis (`"A"`, `"1"`).
137
- * @throws {RangeError} if it names a position off the grid (`"A0"`, `"XFE1"`).
136
+ * @throws SyntaxError if the reference is unparseable, or parses but omits an axis (`"A"`, `"1"`).
137
+ * @throws RangeError if it names a position off the grid (`"A0"`, `"XFE1"`).
138
138
  */
139
139
  export declare function decodeCellRef(reference: string): CellPosition;
140
140
  /**
@@ -180,8 +180,8 @@ export declare function tryDecodeAnchoredRange(reference: string, col: number, r
180
180
  * canonical dimensions. A single reference collapses to a degenerate range whose
181
181
  * corners coincide.
182
182
  *
183
- * @throws {SyntaxError} if an endpoint is unparseable.
184
- * @throws {RangeError} if an endpoint names a column past `XFD` or a row outside `1..1048576`.
183
+ * @throws SyntaxError if an endpoint is unparseable.
184
+ * @throws RangeError if an endpoint names a column past `XFD` or a row outside `1..1048576`.
185
185
  */
186
186
  export declare function decodeRange(reference: string): RangeAddress;
187
187
  /**
@@ -14,7 +14,7 @@ export declare class Cell {
14
14
  readonly row: number;
15
15
  /** 1-based column index. */
16
16
  readonly col: number;
17
- /** @throws {RangeError} unless both axes are integers within Excel's grid. */
17
+ /** @throws RangeError unless both axes are integers within Excel's grid. */
18
18
  constructor(row: number, col: number);
19
19
  /** Canonical A1 address of this cell (`"B3"`). */
20
20
  get address(): string;
@@ -8,7 +8,7 @@ export declare class Column extends AxisHandle<ColumnProperties> {
8
8
  #private;
9
9
  /** 1-based column index. Fixed for this handle's lifetime. */
10
10
  readonly index: number;
11
- /** @throws {RangeError} unless the index is an integer within Excel's column grid (1..16384). */
11
+ /** @throws RangeError unless the index is an integer within Excel's column grid (1..16384). */
12
12
  constructor(sheet: Worksheet, index: number);
13
13
  /** The column's letters (`"B"`): the spreadsheet-facing name for {@link index}. */
14
14
  get letter(): string;
@@ -70,7 +70,7 @@ export declare class Column extends AxisHandle<ColumnProperties> {
70
70
  * The cell at a 1-based row number in this column, creating it on first access. Resolves through
71
71
  * merges exactly as {@link Worksheet.getCell} does.
72
72
  *
73
- * @throws {RangeError} if the row is not a positive integer.
73
+ * @throws RangeError if the row is not a positive integer.
74
74
  */
75
75
  getCell(row: number): Cell;
76
76
  /**
@@ -87,7 +87,7 @@ export interface Comment {
87
87
  * The authoring path alone goes through here. A file's own ids are re-emitted as the file wrote them, since
88
88
  * a reader that rewrote them would break every reference pointing at them.
89
89
  *
90
- * @throws {SyntaxError} if the value is not a GUID in any spelling.
90
+ * @throws SyntaxError if the value is not a GUID in any spelling.
91
91
  */
92
92
  export declare function commentThreadGuid(value: string, what: string): string;
93
93
  /**
@@ -108,7 +108,7 @@ export declare const MENTION_OFFSET_MAX = 4294967295;
108
108
  * offset is dropped, keeping the message text and losing only the chip, because a foreign generator's
109
109
  * arithmetic is not something a caller can fix, whereas their own is.
110
110
  *
111
- * @throws {SyntaxError} if the value is negative, fractional, or beyond the wire's ceiling.
111
+ * @throws SyntaxError if the value is negative, fractional, or beyond the wire's ceiling.
112
112
  */
113
113
  export declare function commentThreadOffset(value: number, what: string): number;
114
114
  /** A conversation anchored to one cell: what was asked, every reply, and whether it was resolved. */
@@ -8,7 +8,7 @@ export declare class ConditionalFormattingOverlay {
8
8
  * rule set. The block is stored once against the range, defensively copied so the getter never hands
9
9
  * back a reference into the caller's object.
10
10
  *
11
- * @throws {AuthoringError} when `formatting.ref` names no area at all. A rule set attached to
11
+ * @throws AuthoringError when `formatting.ref` names no area at all. A rule set attached to
12
12
  * nothing formats no cell and is written back as the same unreadable text, so it is a mistake worth
13
13
  * surfacing at the call. The reader does not reach this: it drops such a block at its own boundary.
14
14
  */
@@ -41,8 +41,8 @@ export declare const isConditionalFormattingType: (value: string) => value is Co
41
41
  /**
42
42
  * How a `cellIs` or text rule compares, as `ST_ConditionalFormattingOperator` enumerates it.
43
43
  *
44
- * Overlaps {@link import('./data-validation.ts').DataValidationOperator} in four members and diverges
45
- * in the rest: this one has the text comparisons a validation has no use for, and spells "does not
44
+ * Overlaps `DataValidationOperator` (`data-validation.ts`) in four members and diverges in the
45
+ * rest: this one has the text comparisons a validation has no use for, and spells "does not
46
46
  * contain" as `notContains` where nothing else in the format does.
47
47
  */
48
48
  export type ConditionalFormattingOperator = 'lessThan' | 'lessThanOrEqual' | 'equal' | 'notEqual' | 'greaterThanOrEqual' | 'greaterThan' | 'between' | 'notBetween' | 'containsText' | 'notContains' | 'beginsWith' | 'endsWith';
@@ -13,7 +13,7 @@ export declare class DataValidationOverlay {
13
13
  * shapes the standard element cannot express. The reader sets it for a rule found in that form so a
14
14
  * round-trip writes it back there instead of silently corrupting the cross-sheet reference.
15
15
  *
16
- * @throws {AuthoringError} when `sqref` names no area at all. A rule attached to nothing covers no
16
+ * @throws AuthoringError when `sqref` names no area at all. A rule attached to nothing covers no
17
17
  * cell and is written back as the same unreadable text, so it is a mistake worth reporting at the
18
18
  * call. The reader does not reach this: it drops such an entry at its own boundary, where a foreign
19
19
  * file's malformed attribute is supposed to be dropped.
@@ -13,7 +13,7 @@
13
13
  * (`[$-409]`), which is dropped rather than honoured -- month and weekday names render in English.
14
14
  * Both are recorded in ADR 0041.
15
15
  *
16
- * @param utc read the date's fields in UTC rather than in the runner's local time. A serial carries
16
+ * @param utc - read the date's fields in UTC rather than in the runner's local time. A serial carries
17
17
  * no timezone, so a `Date` that came from one is UTC wall-clock and this should be `true`; a `Date`
18
18
  * a caller assigned may mean either.
19
19
  */
@@ -96,7 +96,7 @@ export declare function mangleFormula(formula: string, namesInScope: ReadonlySet
96
96
  * BIFF12 codec produces it too, and reaching the XML serialiser for it put the whole write half of
97
97
  * that module into the closure of an entry that has no XML in it.
98
98
  *
99
- * @throws {AuthoringError} when the value is not finite.
99
+ * @throws AuthoringError when the value is not finite.
100
100
  */
101
101
  export declare function formulaNumberLiteral(value: number): string;
102
102
  /**
@@ -17,8 +17,8 @@ export declare class HyperlinkOverlay {
17
17
  /**
18
18
  * Add a link, replacing one over the same cells. The `ref` is stored in its canonical spelling.
19
19
  *
20
- * @throws {SyntaxError} if `ref` is not a reference.
21
- * @throws {AuthoringError} if `ref` names a whole row or column rather than cells.
20
+ * @throws SyntaxError if `ref` is not a reference.
21
+ * @throws AuthoringError if `ref` names a whole row or column rather than cells.
22
22
  */
23
23
  add(link: Hyperlink): void;
24
24
  /** Remove the link whose `ref` names exactly these cells, and report whether there was one. */
@@ -28,7 +28,7 @@ export declare class Range implements GridRect {
28
28
  * Build a handle from inclusive corners, in any order: `(5, 4, 2, 2)` and `(2, 2, 5, 4)` name the
29
29
  * same block, exactly as `D5:B2` and `B2:D5` do. Prefer {@link Worksheet.getRange}.
30
30
  *
31
- * @throws {RangeError} if a corner is not a positive integer or falls outside the sheet's bounds.
31
+ * @throws RangeError if a corner is not a positive integer or falls outside the sheet's bounds.
32
32
  */
33
33
  constructor(sheet: Worksheet, top: number, left: number, bottom: number, right: number);
34
34
  /** The worksheet this block belongs to. */
@@ -108,7 +108,7 @@ export declare class Range implements GridRect {
108
108
  * as sheet lookup is everywhere else): a range handed out by `sheetA` cannot be a block of `sheetB`,
109
109
  * and quietly ignoring the prefix would let a pasted `Sheet2!B2:D5` style the wrong sheet.
110
110
  *
111
- * @throws {SyntaxError} if the reference is unparseable, names another sheet, or leaves an axis
111
+ * @throws SyntaxError if the reference is unparseable, names another sheet, or leaves an axis
112
112
  * unbounded (`A:A`, `1:1`).
113
113
  */
114
114
  export declare function rangeFrom(sheet: Worksheet, reference: string): Range;
@@ -8,7 +8,7 @@ export declare class Row extends AxisHandle<RowProperties> {
8
8
  #private;
9
9
  /** 1-based row number. Fixed for this handle's lifetime. */
10
10
  readonly number: number;
11
- /** @throws {RangeError} unless the number is an integer within Excel's row grid (1..1048576). */
11
+ /** @throws RangeError unless the number is an integer within Excel's row grid (1..1048576). */
12
12
  constructor(sheet: Worksheet, number: number);
13
13
  /**
14
14
  * The row's format record if it has one, else `undefined`: a read that never fabricates, so a
@@ -50,8 +50,8 @@ export declare class Row extends AxisHandle<RowProperties> {
50
50
  * Resolves through merges exactly as {@link Worksheet.getCell} does: addressing a cell covered by
51
51
  * a merged region yields that region's master.
52
52
  *
53
- * @throws {RangeError} if the column is not a positive integer.
54
- * @throws {SyntaxError} if the column letters do not name a column.
53
+ * @throws RangeError if the column is not a positive integer.
54
+ * @throws SyntaxError if the column letters do not name a column.
55
55
  */
56
56
  getCell(column: number | string): Cell;
57
57
  /**
@@ -61,7 +61,7 @@ export interface TableStyle {
61
61
  * `size` outside a stripe is ignored. Neither shows up as a repair prompt or a schema error, so the
62
62
  * only place to catch them is the call that made them.
63
63
  *
64
- * @throws {AuthoringError} if the name is empty, or a non-stripe element carries a `size`.
65
- * @throws {RangeError} if a `size` is not a positive integer.
64
+ * @throws AuthoringError if the name is empty, or a non-stripe element carries a `size`.
65
+ * @throws RangeError if a `size` is not a positive integer.
66
66
  */
67
67
  export declare function checkTableStyle(style: TableStyle): void;
@@ -14,7 +14,7 @@
14
14
  * state *a* height rather than leave one to the application that opens the file, and being within a
15
15
  * line of the truth is what that needs.
16
16
  *
17
- * @throws {RangeError} if `width` is not a positive finite number - a column of zero width wraps
17
+ * @throws RangeError if `width` is not a positive finite number - a column of zero width wraps
18
18
  * nothing, and silently answering `Infinity` or `NaN` would put that straight into a row height.
19
19
  */
20
20
  export declare function estimateWrappedLines(text: string, width: number): number;
@@ -57,7 +57,7 @@ export declare function isThemeRgb(value: string): boolean;
57
57
  * reduced here; anything else is a caller's bug and is refused rather than written as corrupt XML,
58
58
  * which Excel does not report; it renders the slot as flat black.
59
59
  *
60
- * @throws {SyntaxError} if the value is not a recognisable RGB or ARGB hex string. Native rather
60
+ * @throws SyntaxError if the value is not a recognisable RGB or ARGB hex string. Native rather
61
61
  * than the library's own `AuthoringError`: a string that does not parse is what `SyntaxError` is
62
62
  * for, and it is the same kind of failure a malformed comment GUID raises.
63
63
  */
@@ -182,6 +182,6 @@ export declare function isErrorCode(text: string): text is ErrorCode;
182
182
  * stored form (no leading `=`) so round-trips are idempotent regardless of how the
183
183
  * caller supplied it.
184
184
  *
185
- * @throws {TypeError} if the value is not a recognised cell-value shape.
185
+ * @throws TypeError if the value is not a recognised cell-value shape.
186
186
  */
187
187
  export declare function coerceCellValue(value: CellValue | undefined): CellValue;
@@ -12,7 +12,7 @@ export declare class WorkbookMedia {
12
12
  * is why the message names the sheet rather than the id alone. Emitting a package with a drawing
13
13
  * pointing at media nobody registered is the silently-broken-image failure this refuses to start.
14
14
  *
15
- * @throws {AuthoringError} if no image carries that id.
15
+ * @throws AuthoringError if no image carries that id.
16
16
  */
17
17
  require(id: number, forSheetName: string): WorkbookImage;
18
18
  /** Store a picture's bytes and return the id that names them. */
@@ -212,7 +212,7 @@ export declare class Workbook {
212
212
  * returned objects changes nothing on write; the original `customUI` XML is re-emitted byte-for-byte
213
213
  * regardless. Parsed lazily on first access and memoised.
214
214
  *
215
- * @throws {CustomUiParseError} if a `customUI` part is present but its XML is malformed.
215
+ * @throws CustomUiParseError if a `customUI` part is present but its XML is malformed.
216
216
  */
217
217
  get customUI(): readonly CustomUiDocument[];
218
218
  /**
@@ -221,7 +221,7 @@ export declare class Workbook {
221
221
  * verbatim. Mutating the returned object changes nothing on write; the original macro blob is
222
222
  * re-emitted byte-for-byte regardless. Parsed lazily on first access and memoised.
223
223
  *
224
- * @throws {VbaParseError} if a macro project is present but its `vbaProject.bin` is malformed.
224
+ * @throws VbaParseError if a macro project is present but its `vbaProject.bin` is malformed.
225
225
  */
226
226
  get vbaProject(): VbaProject | undefined;
227
227
  /**
@@ -275,9 +275,9 @@ export declare class Workbook {
275
275
  * To author or edit module *source* (which needs real compiled p-code), use the offline
276
276
  * `tools/vba-compiler`, then attach its output via {@link vbaProjectBytes}.
277
277
  *
278
- * @throws {VbaAuthorError} if the workbook has no macro project, or `name` is not in the project,
278
+ * @throws VbaAuthorError if the workbook has no macro project, or `name` is not in the project,
279
279
  * or names a `document`/`designer` module.
280
- * @throws {VbaParseError} if the attached `vbaProject.bin` is malformed.
280
+ * @throws VbaParseError if the attached `vbaProject.bin` is malformed.
281
281
  */
282
282
  removeVbaModule(name: string): void;
283
283
  /**
@@ -286,9 +286,9 @@ export declare class Workbook {
286
286
  * {@link addVbaReference}). Replacing the project also drops a stale signature, as
287
287
  * {@link vbaProjectBytes} does.
288
288
  *
289
- * @throws {VbaAuthorError} if the workbook has no macro project, or any field of `ref` is invalid
289
+ * @throws VbaAuthorError if the workbook has no macro project, or any field of `ref` is invalid
290
290
  * (see {@link VbaLibraryReference}).
291
- * @throws {VbaParseError} if the attached `vbaProject.bin` is malformed.
291
+ * @throws VbaParseError if the attached `vbaProject.bin` is malformed.
292
292
  */
293
293
  addVbaReference(ref: VbaLibraryReference): void;
294
294
  /** The preserved differential-style (`<dxfs>`) fragments, in index order. */
@@ -322,10 +322,10 @@ export declare class Workbook {
322
322
  * Registering a name a source file already defined **overrides** that definition rather than adding
323
323
  * a second one beside it.
324
324
  *
325
- * @throws {AuthoringError} if the name is empty, or an element carries a `size` outside the four
325
+ * @throws AuthoringError if the name is empty, or an element carries a `size` outside the four
326
326
  * stripe types. See {@link checkTableStyle} for why those are refused here rather than silently
327
327
  * dropped.
328
- * @throws {RangeError} if a `size` is not a positive integer.
328
+ * @throws RangeError if a `size` is not a positive integer.
329
329
  */
330
330
  addTableStyle(style: TableStyle): void;
331
331
  /** The table styles authored on this workbook, in registration order. */
@@ -350,7 +350,7 @@ export declare class Workbook {
350
350
  * slot left unauthored keeps the source's own encoding, including the `<a:sysClr>` form Excel uses
351
351
  * for `dk1`/`lt1` so they follow the viewer's window colours.
352
352
  *
353
- * @throws {SyntaxError} if a colour is not 6 or 8 hexadecimal digits, with or without a leading `#`.
353
+ * @throws SyntaxError if a colour is not 6 or 8 hexadecimal digits, with or without a leading `#`.
354
354
  * Every colour is read before any is stored, so a refused call changes nothing.
355
355
  */
356
356
  setTheme(overrides: ThemeOverrides): void;
@@ -389,7 +389,7 @@ export declare class Workbook {
389
389
  * follows {@link themeFonts}'s minor face, so `setTheme({fonts: {minor}})` already reaches every
390
390
  * unstyled cell and needs no second call here. See {@link defaultFont} for the full chain.
391
391
  *
392
- * @throws {RangeError} if `size` is not a positive finite number, or `name` is empty. Both
392
+ * @throws RangeError if `size` is not a positive finite number, or `name` is empty. Both
393
393
  * produce a styles part Excel renders from some other font without ever reporting why. Native
394
394
  * rather than {@link AuthoringError}: one argument out of range is what `RangeError` is for.
395
395
  */
@@ -452,7 +452,7 @@ export declare class Workbook {
452
452
  * legitimate and is what Excel itself does. See {@link restorePersons}. The id is normalised to the
453
453
  * brace-wrapped upper-case GUID form the format requires, so a `crypto.randomUUID()` is accepted as-is.
454
454
  *
455
- * @throws {SyntaxError} if the id is not a GUID.
455
+ * @throws SyntaxError if the id is not a GUID.
456
456
  */
457
457
  addPerson(person: Person): void;
458
458
  /**
@@ -491,7 +491,7 @@ export declare class Workbook {
491
491
  * never mutates image bytes, and copying every picture would double the memory of an image-heavy
492
492
  * workbook to defend against a mutation nothing performs.
493
493
  *
494
- * @throws {AuthoringError} if the sheet anchors an image id this workbook has not registered,
494
+ * @throws AuthoringError if the sheet anchors an image id this workbook has not registered,
495
495
  * which is what a sheet from *another* workbook looks like from here. Emitting a package with a
496
496
  * drawing pointing at media that was never registered is the silently-broken-image failure this
497
497
  * refuses to start.
@@ -519,14 +519,14 @@ export declare class Workbook {
519
519
  /**
520
520
  * Register a defined name on the workbook.
521
521
  *
522
- * @throws {AuthoringError} if the name is empty, or if a {@link DefinedName.scope} is given that names no
522
+ * @throws AuthoringError if the name is empty, or if a {@link DefinedName.scope} is given that names no
523
523
  * existing worksheet. A scoped name must target a sheet that is already part of the workbook.
524
524
  */
525
525
  defineName(definedName: DefinedName): void;
526
526
  /**
527
527
  * Create a worksheet and append it to the workbook.
528
528
  *
529
- * @throws {AuthoringError} if the name is empty, too long, contains a forbidden character,
529
+ * @throws AuthoringError if the name is empty, too long, contains a forbidden character,
530
530
  * or collides (case-insensitively) with an existing sheet.
531
531
  */
532
532
  addWorksheet(name: string, options?: AddWorksheetOptions): Worksheet;
@@ -542,7 +542,7 @@ export declare class Workbook {
542
542
  * That listing is the whole point: a lookup miss is a typo, a stale template or a renamed tab,
543
543
  * and all three are answered by seeing the real names.
544
544
  *
545
- * @throws {AuthoringError} if no worksheet has that name (case-insensitive) or numeric id.
545
+ * @throws AuthoringError if no worksheet has that name (case-insensitive) or numeric id.
546
546
  */
547
547
  requireWorksheet(nameOrId: string | number): Worksheet;
548
548
  /**
@@ -23,8 +23,8 @@ export declare class WorksheetMerges {
23
23
  * whole-row/column range, which is declared and overlap-checks against nothing. The range is stored
24
24
  * in canonical form (see {@link canonicalMerge}).
25
25
  *
26
- * @throws {SyntaxError} if the range is unparseable or names a worksheet.
27
- * @throws {AuthoringError} if the range overlaps an already-merged region. Excel forbids
26
+ * @throws SyntaxError if the range is unparseable or names a worksheet.
27
+ * @throws AuthoringError if the range overlaps an already-merged region. Excel forbids
28
28
  * overlapping merges and writes such geometry as a file it then offers to repair.
29
29
  */
30
30
  add(range: string): MergeRect | undefined;
@@ -32,7 +32,7 @@ export declare class WorksheetMerges {
32
32
  * Drop a declared range and, with it, the rectangle it covers. The inverse of {@link add}, and it
33
33
  * matches however the range is spelled, since both sides are compared in canonical form.
34
34
  *
35
- * @throws {SyntaxError} if the range is unparseable or names a worksheet.
35
+ * @throws SyntaxError if the range is unparseable or names a worksheet.
36
36
  */
37
37
  remove(range: string): MergeRemoval;
38
38
  /**
@@ -250,7 +250,7 @@ export declare class Worksheet {
250
250
  * covered address returns the master's. Only the master ever holds an independent
251
251
  * value, so the serialized sheet stays well-formed (no stray value on a covered cell).
252
252
  *
253
- * @throws {SyntaxError} if the reference does not resolve to a single cell.
253
+ * @throws SyntaxError if the reference does not resolve to a single cell.
254
254
  */
255
255
  getCell(reference: string): Cell;
256
256
  /** Whether a cell has been materialised at the given 1-based position. */
@@ -261,7 +261,7 @@ export declare class Worksheet {
261
261
  * not extend the used range. Writing through it (`getColumn(2).width = 12`) is what materialises
262
262
  * the record.
263
263
  *
264
- * @throws {RangeError} if the index is not a positive integer.
264
+ * @throws RangeError if the index is not a positive integer.
265
265
  */
266
266
  getColumn(index: number): Column;
267
267
  /**
@@ -270,7 +270,7 @@ export declare class Worksheet {
270
270
  * extend the used range. Writing through it (`getRow(3).height = 20`) is what materialises the
271
271
  * record.
272
272
  *
273
- * @throws {RangeError} if the number is not a positive integer.
273
+ * @throws RangeError if the number is not a positive integer.
274
274
  */
275
275
  getRow(number: number): Row;
276
276
  /**
@@ -286,10 +286,10 @@ export declare class Worksheet {
286
286
  * million-cell block: OOXML states a whole-axis default in one attribute, and {@link getRow} /
287
287
  * {@link getColumn} are how you write it.
288
288
  *
289
- * @throws {SyntaxError} if the reference is unparseable, names another worksheet, or leaves an
289
+ * @throws SyntaxError if the reference is unparseable, names another worksheet, or leaves an
290
290
  * axis unbounded.
291
- * @throws {AuthoringError} if the numeric form is called with fewer than four corners.
292
- * @throws {RangeError} if a numeric corner is not a positive integer within the sheet's bounds.
291
+ * @throws AuthoringError if the numeric form is called with fewer than four corners.
292
+ * @throws RangeError if a numeric corner is not a positive integer within the sheet's bounds.
293
293
  */
294
294
  getRange(reference: string): Range;
295
295
  getRange(top: number, left: number, bottom: number, right: number): Range;
@@ -353,7 +353,7 @@ export declare class Worksheet {
353
353
  * name, at least one column, at least one row) are enforced here; conflicts with the
354
354
  * rest of the sheet (e.g. an overlapping merge) are the writer's concern.
355
355
  *
356
- * @throws {AuthoringError} if the name, columns, or geometry are invalid.
356
+ * @throws AuthoringError if the name, columns, or geometry are invalid.
357
357
  */
358
358
  addTable(options: TableOptions): Table;
359
359
  /** The tables defined on this sheet, in definition order. */
@@ -367,7 +367,7 @@ export declare class Worksheet {
367
367
  * while a row or column splice of the source sheet moves its {@link PivotTable.sourceRef}. The
368
368
  * supported shape (one summed value field, at least one row and column field) is enforced here.
369
369
  *
370
- * @throws {AuthoringError} if the metric, fields, or source shape are unsupported.
370
+ * @throws AuthoringError if the metric, fields, or source shape are unsupported.
371
371
  */
372
372
  addPivotTable(options: PivotTableOptions): PivotTable;
373
373
  /** The pivot tables hosted on this sheet, in definition order. */
@@ -401,7 +401,7 @@ export declare class Worksheet {
401
401
  * one id is therefore harmless and is not rejected: Excel's ids happen to be globally unique, but
402
402
  * nothing resolves across a part boundary.
403
403
  *
404
- * @throws {SyntaxError} if the anchor does not resolve to a single cell, if any id is not a GUID, if a
404
+ * @throws SyntaxError if the anchor does not resolve to a single cell, if any id is not a GUID, if a
405
405
  * message id is already used on this sheet, or if a mention's span is not a whole number the wire can
406
406
  * express.
407
407
  */
@@ -417,7 +417,7 @@ export declare class Worksheet {
417
417
  * canonicalized, so an absolute `"$B$2"` finds the same thread as `"B2"`; it names the *anchor* cell,
418
418
  * so a cell merely covered by the anchor's merged region is not a match.
419
419
  *
420
- * @throws {SyntaxError} if the reference does not resolve to a single cell.
420
+ * @throws SyntaxError if the reference does not resolve to a single cell.
421
421
  */
422
422
  commentThreadAt(reference: string): CommentThread | undefined;
423
423
  /**
@@ -486,9 +486,9 @@ export declare class Worksheet {
486
486
  * The range is stored in canonical form, `$` anchors dropped and the top-left corner first, so
487
487
  * merging `$B$2:$A$1` reports `A1:B2` through {@link merges}.
488
488
  *
489
- * @throws {SyntaxError} if the range is unparseable or names a worksheet: a merge belongs to the
489
+ * @throws SyntaxError if the range is unparseable or names a worksheet: a merge belongs to the
490
490
  * sheet it is made on, and a prefix naming another one used to be ignored.
491
- * @throws {AuthoringError} if the range overlaps an already-merged region.
491
+ * @throws AuthoringError if the range overlaps an already-merged region.
492
492
  */
493
493
  mergeCells(range: string): void;
494
494
  /** The merged ranges on this sheet, in canonical form (`A1:B2`), in the order they were added. */
@@ -513,7 +513,7 @@ export declare class Worksheet {
513
513
  * stored and compared in canonical form. The covering rectangle is dropped alongside it, so a cell
514
514
  * the merge had masked addresses independently again. The inverse of {@link mergeCells}.
515
515
  *
516
- * @throws {SyntaxError} if the range is unparseable or names a worksheet.
516
+ * @throws SyntaxError if the range is unparseable or names a worksheet.
517
517
  */
518
518
  unmergeCells(range: string): boolean;
519
519
  /**
@@ -538,7 +538,7 @@ export declare class Worksheet {
538
538
  * rule set. The block is stored once against the range, defensively copied so the getter never hands
539
539
  * back a reference into the caller's object.
540
540
  *
541
- * @throws {AuthoringError} when `formatting.ref` names no cells: empty, or no area of it decodes.
541
+ * @throws AuthoringError when `formatting.ref` names no cells: empty, or no area of it decodes.
542
542
  */
543
543
  addConditionalFormatting(formatting: ConditionalFormatting): void;
544
544
  /** The conditional formattings on this sheet, each bound to its target range, in insertion order. */
@@ -561,8 +561,8 @@ export declare class Worksheet {
561
561
  * A row or column splice moves a link with the cells it covers, growing it when lines are inserted
562
562
  * inside it and shrinking it when some of its lines are deleted, as Excel does.
563
563
  *
564
- * @throws {SyntaxError} if `ref` is not a reference.
565
- * @throws {AuthoringError} if `ref` names a whole row or column rather than cells.
564
+ * @throws SyntaxError if `ref` is not a reference.
565
+ * @throws AuthoringError if `ref` names a whole row or column rather than cells.
566
566
  */
567
567
  addHyperlink(link: Hyperlink): void;
568
568
  /**
@@ -593,11 +593,11 @@ export declare class Worksheet {
593
593
  * edit and is not moved. A dynamic array whose range the edit leaves holding another formula has its
594
594
  * spill blocked, as Excel blocks it: the array formula keeps its own cell alone and caches `#SPILL!`.
595
595
  *
596
- * @throws {RangeError} if `start` is not a positive integer or `count` is negative.
597
- * @throws {RangeError} if an inserted row would land past the last row of the grid. The sheet is
596
+ * @throws RangeError if `start` is not a positive integer or `count` is negative.
597
+ * @throws RangeError if an inserted row would land past the last row of the grid. The sheet is
598
598
  * left untouched, so this is a refused edit rather than half of one: a region pushed off the edge
599
599
  * clamps and absorbs the loss, but content pushed off it is what Excel refuses outright.
600
- * @throws {AuthoringError} if the edit would cut through a Ctrl+Shift+Enter array formula's range: an
600
+ * @throws AuthoringError if the edit would cut through a Ctrl+Shift+Enter array formula's range: an
601
601
  * insert strictly inside it, or a delete taking part of it. Excel refuses the same edit, as a change
602
602
  * to part of an array, and the sheet is left untouched. An edit moving or deleting the whole range,
603
603
  * and any edit through a dynamic array's range, goes ahead.
@@ -608,7 +608,7 @@ export declare class Worksheet {
608
608
  * `values` takes either {@link RowInput} shape (positional array or keyed object), like
609
609
  * {@link addRow}. Shorthand for {@link spliceRows}`(pos, 0, values)`.
610
610
  *
611
- * @throws {RangeError} if `pos` is not a positive integer.
611
+ * @throws RangeError if `pos` is not a positive integer.
612
612
  */
613
613
  insertRow(pos: number, values: RowInput): void;
614
614
  /**
@@ -636,7 +636,7 @@ export declare class Worksheet {
636
636
  * beneath them. `freeze(1)` pins a header row; `freeze(0, 1)` pins the first column. Passing both
637
637
  * zero clears the freeze (equivalent to {@link unfreeze}).
638
638
  *
639
- * @throws {RangeError} if either split is a negative or non-integer count, or leaves no row or
639
+ * @throws RangeError if either split is a negative or non-integer count, or leaves no row or
640
640
  * column of the grid to scroll. The view is left as it was.
641
641
  */
642
642
  freeze(ySplit?: number, xSplit?: number): void;
@@ -656,9 +656,9 @@ export declare class Worksheet {
656
656
  * over the source's cells; an inserted copy is taken from the source as the insert left it. A copy
657
657
  * landing in a dynamic array's range blocks its spill, as {@link spliceRows} says.
658
658
  *
659
- * @throws {RangeError} if `start` is not a positive integer or `count` is negative, or if a copy
659
+ * @throws RangeError if `start` is not a positive integer or `count` is negative, or if a copy
660
660
  * would land past the last row. The sheet is left untouched.
661
- * @throws {AuthoringError} if a copy would land inside a Ctrl+Shift+Enter array formula's range, or
661
+ * @throws AuthoringError if a copy would land inside a Ctrl+Shift+Enter array formula's range, or
662
662
  * replace part of one, which Excel refuses as a change to part of an array. The sheet is left
663
663
  * untouched.
664
664
  */
@@ -675,12 +675,12 @@ export declare class Worksheet {
675
675
  *
676
676
  * Formulas move with the columns, by the rules {@link spliceRows} gives for rows.
677
677
  *
678
- * @throws {RangeError} if `start` is not a positive integer or `count` is negative.
679
- * @throws {RangeError} if an inserted column would land past the last column, or one of its values
678
+ * @throws RangeError if `start` is not a positive integer or `count` is negative.
679
+ * @throws RangeError if an inserted column would land past the last column, or one of its values
680
680
  * past the last row. The sheet is left untouched, so this is a refused edit rather than half of
681
681
  * one: a region pushed off the edge clamps and absorbs the loss, but content pushed off it is
682
682
  * what Excel refuses outright, and {@link addColumn} refuses the same argument identically.
683
- * @throws {AuthoringError} if the edit would cut through a Ctrl+Shift+Enter array formula's range, by
683
+ * @throws AuthoringError if the edit would cut through a Ctrl+Shift+Enter array formula's range, by
684
684
  * the rule {@link spliceRows} gives for rows. The sheet is left untouched.
685
685
  */
686
686
  spliceColumns(start: number, count: number, ...inserts: CellValue[][]): void;
@@ -689,7 +689,7 @@ export declare class Worksheet {
689
689
  * by one. `values` is an array of values indexed by row (index 0 → row 1), like
690
690
  * {@link addColumn}. Shorthand for {@link spliceColumns}`(pos, 0, values)`.
691
691
  *
692
- * @throws {RangeError} if `pos` is not a positive integer, or if the column would land past the
692
+ * @throws RangeError if `pos` is not a positive integer, or if the column would land past the
693
693
  * last column or one of its values past the last row; see {@link spliceColumns}.
694
694
  */
695
695
  insertColumn(pos: number, values: CellValue[]): void;
@@ -80,7 +80,7 @@ export interface CustomUiDocument {
80
80
  /**
81
81
  * Parse a `customUI` part (raw UTF-8 bytes or its decoded text) into a {@link CustomUiDocument}.
82
82
  *
83
- * @throws {CustomUiParseError} if the XML is malformed, the root is not a `<customUI>` element in
83
+ * @throws CustomUiParseError if the XML is malformed, the root is not a `<customUI>` element in
84
84
  * a recognised namespace, or the tree nests beyond {@link MAX_DEPTH}.
85
85
  */
86
86
  export declare function parseCustomUi(input: string | Uint8Array): CustomUiDocument;