docx 9.7.2 → 9.8.1

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.
@@ -0,0 +1,676 @@
1
+ import { BuilderElement } from 'docx';
2
+ import { createMathAccentCharacter } from 'docx';
3
+ import { createMathBase } from 'docx';
4
+ import { createMathLimitLocation } from 'docx';
5
+ import { createMathNAryProperties } from 'docx';
6
+ import { createMathPreSubSuperScriptProperties } from 'docx';
7
+ import { createMathSubScriptElement } from 'docx';
8
+ import { createMathSubScriptProperties } from 'docx';
9
+ import { createMathSubSuperScriptProperties } from 'docx';
10
+ import { createMathSuperScriptElement } from 'docx';
11
+ import { createMathSuperScriptProperties } from 'docx';
12
+ import { IMathFractionOptions } from 'docx';
13
+ import { IMathFunctionOptions } from 'docx';
14
+ import { IMathIntegralOptions } from 'docx';
15
+ import { IMathLimitLowerOptions } from 'docx';
16
+ import { IMathLimitUpperOptions } from 'docx';
17
+ import { IMathOptions } from 'docx';
18
+ import { IMathPreSubSuperScriptOptions } from 'docx';
19
+ import { IMathRadicalOptions } from 'docx';
20
+ import { IMathSubScriptOptions } from 'docx';
21
+ import { IMathSubSuperScriptOptions } from 'docx';
22
+ import { IMathSumOptions } from 'docx';
23
+ import { IMathSuperScriptOptions } from 'docx';
24
+ import { Math as Math_2 } from 'docx';
25
+ import { MathAngledBrackets } from 'docx';
26
+ import { MathComponent } from 'docx';
27
+ import { MathCurlyBrackets } from 'docx';
28
+ import { MathDegree } from 'docx';
29
+ import { MathDenominator } from 'docx';
30
+ import { MathFraction } from 'docx';
31
+ import { MathFractionType } from 'docx';
32
+ import { MathFunction } from 'docx';
33
+ import { MathFunctionName } from 'docx';
34
+ import { MathFunctionProperties } from 'docx';
35
+ import { MathIntegral } from 'docx';
36
+ import { MathLimit } from 'docx';
37
+ import { MathLimitLower } from 'docx';
38
+ import { MathLimitsPosition } from 'docx';
39
+ import { MathLimitUpper } from 'docx';
40
+ import { MathNumerator } from 'docx';
41
+ import { MathPreSubSuperScript } from 'docx';
42
+ import { MathRadical } from 'docx';
43
+ import { MathRadicalProperties } from 'docx';
44
+ import { MathRoundBrackets } from 'docx';
45
+ import { MathRun } from 'docx';
46
+ import { MathRunOptions } from 'docx';
47
+ import { MathRunScript } from 'docx';
48
+ import { MathRunStyle } from 'docx';
49
+ import { MathSquareBrackets } from 'docx';
50
+ import { MathSubScript } from 'docx';
51
+ import { MathSubSuperScript } from 'docx';
52
+ import { MathSum } from 'docx';
53
+ import { MathSuperScript } from 'docx';
54
+
55
+ export { createMathAccentCharacter }
56
+
57
+ export { createMathBase }
58
+
59
+ export { createMathLimitLocation }
60
+
61
+ export { createMathNAryProperties }
62
+
63
+ export { createMathPreSubSuperScriptProperties }
64
+
65
+ export { createMathSubScriptElement }
66
+
67
+ export { createMathSubScriptProperties }
68
+
69
+ export { createMathSubSuperScriptProperties }
70
+
71
+ export { createMathSuperScriptElement }
72
+
73
+ export { createMathSuperScriptProperties }
74
+
75
+ export { IMathFractionOptions }
76
+
77
+ export { IMathFunctionOptions }
78
+
79
+ export { IMathIntegralOptions }
80
+
81
+ export { IMathLimitLowerOptions }
82
+
83
+ export { IMathLimitUpperOptions }
84
+
85
+ export { IMathOptions }
86
+
87
+ export { IMathPreSubSuperScriptOptions }
88
+
89
+ export { IMathRadicalOptions }
90
+
91
+ export { IMathSubScriptOptions }
92
+
93
+ export { IMathSubSuperScriptOptions }
94
+
95
+ export { IMathSumOptions }
96
+
97
+ export { IMathSuperScriptOptions }
98
+
99
+ /**
100
+ * Turns LaTeX math into docx's math, to go in a `Math`, as Word's own equations, which it shows and edits as it does
101
+ * those typed into it.
102
+ *
103
+ * It reads the math that LaTeX, MathJax and KaTeX write: fractions, scripts, roots, sums, integrals and other large
104
+ * operators, functions such as sin and lim, brackets that grow with `\left` and `\right`, accents, braces, boxes,
105
+ * fonts such as `\mathbb` and `\mathrm`, `\text`, Greek letters and symbols, and the environments for matrices,
106
+ * cases and aligned equations, with `\tag` for their numbers. The math can be given in `$…$`, `$$…$$`, `\(…\)` or
107
+ * `\[…\]`, which are left out.
108
+ *
109
+ * Colours, sizes and spacing that Word works out for itself are left out.
110
+ *
111
+ * @param latex - The LaTeX, such as `"\\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}"`
112
+ * @returns The math, to be the children of a `Math`, or to go among other math components
113
+ * @throws If the LaTeX has a command or an environment it doesn't know, or isn't well formed, such as a `{` with no
114
+ * `}`. The error says where
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * new Math({ children: latexToMath("x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}") });
119
+ * ```
120
+ */
121
+ export declare const latexToMath: (latex: string) => readonly MathComponent[];
122
+
123
+ export { Math_2 as Math }
124
+
125
+ /**
126
+ * An accent over math (`m:acc`), such as a hat, a tilde, dots or a vector's arrow, as LaTeX's `\hat`, `\tilde`,
127
+ * `\dot` and `\vec`. Word stretches the accent over what it goes over.
128
+ *
129
+ * For a line over or under math, as LaTeX's `\overline` and `\underline`, use a `MathBar`.
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * new MathAccent({ accent: "rightArrow", children: [new MathRun("v")] });
134
+ * ```
135
+ */
136
+ export declare class MathAccent extends BuilderElement {
137
+ constructor({ accent, children }: MathAccentOptions);
138
+ }
139
+
140
+ /**
141
+ * An accent over math, as LaTeX writes it:
142
+ *
143
+ * - `"hat"`: x̂, `\hat` and `\widehat`;
144
+ * - `"check"`: x̌, `\check`;
145
+ * - `"tilde"`: x̃, `\tilde` and `\widetilde`;
146
+ * - `"acute"`: x́, `\acute`;
147
+ * - `"grave"`: x̀, `\grave`;
148
+ * - `"dot"`: ẋ, `\dot`;
149
+ * - `"doubleDot"`: ẍ, `\ddot`;
150
+ * - `"tripleDot"`: x⃛, `\dddot`;
151
+ * - `"breve"`: x̆, `\breve`;
152
+ * - `"bar"`: x̅, `\bar`;
153
+ * - `"ring"`: x̊, `\mathring`;
154
+ * - `"rightArrow"`: x⃗, `\vec` and `\overrightarrow`;
155
+ * - `"leftArrow"`: x⃖, `\overleftarrow`;
156
+ * - `"leftRightArrow"`: x⃡, `\overleftrightarrow`;
157
+ * - `"rightHarpoon"`: x⃑, `\overrightharpoon`;
158
+ * - `"leftHarpoon"`: x⃐, `\overleftharpoon`.
159
+ */
160
+ export declare type MathAccentName = "hat" | "check" | "tilde" | "acute" | "grave" | "dot" | "doubleDot" | "tripleDot" | "breve" | "bar" | "ring" | "rightArrow" | "leftArrow" | "leftRightArrow" | "rightHarpoon" | "leftHarpoon";
161
+
162
+ /**
163
+ * Options for {@link MathAccent}.
164
+ */
165
+ export declare type MathAccentOptions = {
166
+ /**
167
+ * The accent.
168
+ * @default "hat"
169
+ */
170
+ readonly accent?: MathAccentName;
171
+ /** What the accent goes over */
172
+ readonly children: readonly MathComponent[];
173
+ };
174
+
175
+ export { MathAngledBrackets }
176
+
177
+ /**
178
+ * A line over or under math (`m:bar`), as LaTeX's `\overline` and `\underline`, as long as what it goes over.
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * new MathBar({ children: [new MathRun("AB")] });
183
+ * new MathBar({ position: "below", children: [new MathRun("x")] });
184
+ * ```
185
+ */
186
+ export declare class MathBar extends BuilderElement {
187
+ constructor({ position, children }: MathBarOptions);
188
+ }
189
+
190
+ /**
191
+ * Options for {@link MathBar}.
192
+ */
193
+ export declare type MathBarOptions = {
194
+ /**
195
+ * Whether the line goes above or below.
196
+ * @default "above"
197
+ */
198
+ readonly position?: MathPosition;
199
+ /** What the line goes over or under */
200
+ readonly children: readonly MathComponent[];
201
+ };
202
+
203
+ /**
204
+ * A box around math (`m:borderBox`), as LaTeX's `\boxed`, with lines struck through it, as `\cancel`, `\bcancel` and
205
+ * `\xcancel`. Any of its sides can be left out.
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * new MathBox({ children: [new MathRun("E=mc²")] });
210
+ * new MathBox({ borders: [], strikes: ["diagonalUp"], children: [new MathRun("x")] });
211
+ * ```
212
+ */
213
+ export declare class MathBox extends BuilderElement {
214
+ constructor({ children, borders, strikes }: MathBoxOptions);
215
+ }
216
+
217
+ /**
218
+ * Options for {@link MathBox}.
219
+ */
220
+ export declare type MathBoxOptions = {
221
+ /** What goes in the box */
222
+ readonly children: readonly MathComponent[];
223
+ /**
224
+ * The sides of the box that are drawn. `[]` draws none, for lines struck through math with no box.
225
+ * @default ["top", "bottom", "left", "right"]
226
+ */
227
+ readonly borders?: readonly MathBoxSide[];
228
+ /**
229
+ * Lines struck through the box, such as `["diagonalUp"]` to cancel a term.
230
+ * @default []
231
+ */
232
+ readonly strikes?: readonly MathBoxStrike[];
233
+ };
234
+
235
+ /** A side of a box */
236
+ export declare type MathBoxSide = "top" | "bottom" | "left" | "right";
237
+
238
+ /**
239
+ * A line struck through a box:
240
+ *
241
+ * - `"horizontal"`: across its middle;
242
+ * - `"vertical"`: down its middle;
243
+ * - `"diagonalUp"`: from its bottom left corner to its top right, as LaTeX's `\cancel`;
244
+ * - `"diagonalDown"`: from its top left corner to its bottom right, as `\bcancel`.
245
+ */
246
+ export declare type MathBoxStrike = "horizontal" | "vertical" | "diagonalUp" | "diagonalDown";
247
+
248
+ /**
249
+ * A brace over or under math (`m:groupChr`), as long as what it goes over, as LaTeX's `\overbrace` and
250
+ * `\underbrace`. A label goes on the brace's other side, as Word writes it: in a limit above (`m:limUpp`) or below
251
+ * (`m:limLow`).
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * new MathBrace({
256
+ * position: "below",
257
+ * children: [new MathRun("1+2+⋯+n")],
258
+ * label: [new MathRun("n terms")],
259
+ * });
260
+ * ```
261
+ */
262
+ export declare class MathBrace extends BuilderElement {
263
+ constructor({ position, brace, children, label }: MathBraceOptions);
264
+ }
265
+
266
+ /**
267
+ * Options for {@link MathBrace}.
268
+ */
269
+ export declare type MathBraceOptions = {
270
+ /**
271
+ * Whether the brace goes above or below.
272
+ * @default "above"
273
+ */
274
+ readonly position?: MathPosition;
275
+ /**
276
+ * The shape of the brace.
277
+ * @default "curly"
278
+ */
279
+ readonly brace?: MathBraceShape;
280
+ /** What the brace goes over or under */
281
+ readonly children: readonly MathComponent[];
282
+ /** A label on the brace's other side, such as `n times` */
283
+ readonly label?: readonly MathComponent[];
284
+ };
285
+
286
+ /**
287
+ * The shape of a brace:
288
+ *
289
+ * - `"curly"`: ⏞ and ⏟, as LaTeX's `\overbrace` and `\underbrace`;
290
+ * - `"square"`: ⎴ and ⎵, as `\overbracket` and `\underbracket`;
291
+ * - `"round"`: ⏜ and ⏝, as `\overparen` and `\underparen`.
292
+ */
293
+ export declare type MathBraceShape = "curly" | "square" | "round";
294
+
295
+ /**
296
+ * Brackets of any characters around math (`m:d`), such as |x|, ‖v‖, ⟨a|b⟩ or a brace on one side only. They grow
297
+ * with what they hold.
298
+ *
299
+ * `MathRoundBrackets`, `MathSquareBrackets`, `MathCurlyBrackets` and `MathAngledBrackets` are fixed pairs of these.
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * new MathBrackets({ open: "|", close: "|", children: [new MathRun("x")] });
304
+ * new MathBrackets({ open: "⟨", close: "⟩", items: [[new MathRun("a")], [new MathRun("b")]] });
305
+ * new MathBrackets({ open: "{", close: "", children: [new MathRun("x")] });
306
+ * ```
307
+ */
308
+ export declare class MathBrackets extends BuilderElement {
309
+ constructor(options: MathBracketsOptions);
310
+ }
311
+
312
+ /**
313
+ * Options for {@link MathBrackets}: the brackets, and what goes between them.
314
+ */
315
+ export declare type MathBracketsOptions = {
316
+ /**
317
+ * The opening bracket: one character, such as `"|"` or `"⟨"`, or `""` for none (`m:begChr`).
318
+ * @default "("
319
+ */
320
+ readonly open?: string;
321
+ /**
322
+ * The closing bracket: one character, or `""` for none (`m:endChr`).
323
+ * @default ")"
324
+ */
325
+ readonly close?: string;
326
+ /**
327
+ * The character between `items`, such as `","` (`m:sepChr`).
328
+ * @default "|"
329
+ */
330
+ readonly separator?: string;
331
+ /**
332
+ * Whether the brackets grow to the height of what they hold (`m:grow`). LibreOffice and Pages always grow them.
333
+ * @default true
334
+ */
335
+ readonly grow?: boolean;
336
+ } & ({
337
+ /** What goes between the brackets */
338
+ readonly children: readonly MathComponent[];
339
+ readonly items?: never;
340
+ } | {
341
+ /** Several things between the brackets, with `separator` between them, such as ⟨a|b⟩ */
342
+ readonly items: readonly (readonly MathComponent[])[];
343
+ readonly children?: never;
344
+ });
345
+
346
+ /**
347
+ * One case: a value, and the condition it holds under.
348
+ */
349
+ export declare type MathCase = {
350
+ /** The value, such as `−x,` */
351
+ readonly value: readonly MathComponent[];
352
+ /**
353
+ * The condition, such as `if x < 0`. Words such as "if" and "otherwise" read best as normal text:
354
+ * `new MathRun({ text: "if ", normalText: true })`.
355
+ */
356
+ readonly condition?: readonly MathComponent[];
357
+ };
358
+
359
+ /**
360
+ * Cases, as LaTeX's `cases`: values, each with its condition, one to a line, in a brace on the left. The values and
361
+ * the conditions each line up on the left.
362
+ *
363
+ * They are written as pandoc writes them: a matrix of two columns in a brace with no closing bracket. Word's own
364
+ * equation editor lines the conditions up with an `&` instead, which LibreOffice draws.
365
+ *
366
+ * @example
367
+ * ```typescript
368
+ * new MathCases({
369
+ * cases: [
370
+ * { value: [new MathRun("x,")], condition: [new MathRun({ text: "if ", normalText: true }), new MathRun("x≥0")] },
371
+ * { value: [new MathRun("−x,")], condition: [new MathRun({ text: "otherwise", normalText: true })] },
372
+ * ],
373
+ * });
374
+ * ```
375
+ */
376
+ export declare class MathCases extends BuilderElement {
377
+ constructor({ cases }: MathCasesOptions);
378
+ }
379
+
380
+ /**
381
+ * Options for {@link MathCases}.
382
+ */
383
+ export declare type MathCasesOptions = {
384
+ /** The cases, one to a line. Word allows at most 256 */
385
+ readonly cases: readonly MathCase[];
386
+ };
387
+
388
+ /** Where the cells of a column go across it (`m:mcJc`). LibreOffice and Pages centre them all */
389
+ export declare type MathColumnAlignment = "left" | "center" | "right";
390
+
391
+ export { MathComponent }
392
+
393
+ export { MathCurlyBrackets }
394
+
395
+ export { MathDegree }
396
+
397
+ export { MathDenominator }
398
+
399
+ /**
400
+ * An equation array (`m:eqArr`): rows of math, one to a line, lined up at the points between their parts, as LaTeX's
401
+ * `align` and `aligned`, with an equation number at the end of any row.
402
+ *
403
+ * Word marks the points with an `&`, and the number with a `#`, in the text. So an `&` or a `#` in a `MathRun` in the
404
+ * array is taken as one too. LibreOffice shows the `&` and `#`, and centres the rows; Pages lines them up, but shows
405
+ * the `#`.
406
+ *
407
+ * @example
408
+ * ```typescript
409
+ * new MathEquationArray({
410
+ * rows: [
411
+ * { parts: [[new MathRun("y")], [new MathRun("=mx+b")]], equationNumber: "(1)" },
412
+ * { parts: [[new MathRun("y′")], [new MathRun("=m")]], equationNumber: "(2)" },
413
+ * ],
414
+ * });
415
+ * ```
416
+ */
417
+ export declare class MathEquationArray extends BuilderElement {
418
+ constructor({ rows, verticalAlignment }: MathEquationArrayOptions);
419
+ }
420
+
421
+ /**
422
+ * Options for {@link MathEquationArray}.
423
+ */
424
+ export declare type MathEquationArrayOptions = {
425
+ /** The rows, one to a line. Word allows at most 64 */
426
+ readonly rows: readonly MathEquationArrayRow[];
427
+ /**
428
+ * Where the array sits on its line.
429
+ * @default "center"
430
+ */
431
+ readonly verticalAlignment?: MathVerticalAlignment;
432
+ };
433
+
434
+ /**
435
+ * One row of an equation array.
436
+ */
437
+ export declare type MathEquationArrayRow = {
438
+ /**
439
+ * The row's parts. Word lines up the points between them with the same points in the other rows, as LaTeX's `&`
440
+ * does: the first, third and every other point line up (such as at an `=`), and the space goes at the others, as
441
+ * between the columns of `align`. A part can be empty, such as the first part of a row that goes on from the row
442
+ * before.
443
+ */
444
+ readonly parts: readonly (readonly MathComponent[])[];
445
+ /**
446
+ * The row's equation number, such as `"(1)"`, which Word 2016 and later put at the right margin. Word 2013 and
447
+ * older, LibreOffice and Pages show it after a `#`.
448
+ */
449
+ readonly equationNumber?: string;
450
+ };
451
+
452
+ export { MathFraction }
453
+
454
+ export { MathFractionType }
455
+
456
+ export { MathFunction }
457
+
458
+ export { MathFunctionName }
459
+
460
+ export { MathFunctionProperties }
461
+
462
+ export { MathIntegral }
463
+
464
+ /**
465
+ * A large operator with limits (`m:nary`), such as ∏, ⋃ or ∮, as LaTeX's `\prod`, `\bigcup` and `\oint`, over what
466
+ * it applies to. `MathSum` and `MathIntegral` are two of these.
467
+ *
468
+ * @example
469
+ * ```typescript
470
+ * new MathLargeOperator({
471
+ * operator: "product",
472
+ * subScript: [new MathRun("i=1")],
473
+ * superScript: [new MathRun("n")],
474
+ * children: [new MathRun("i")],
475
+ * });
476
+ * ```
477
+ */
478
+ export declare class MathLargeOperator extends BuilderElement {
479
+ constructor({ operator, children, subScript, superScript, limits }: MathLargeOperatorOptions);
480
+ }
481
+
482
+ /**
483
+ * A large operator, as LaTeX writes it:
484
+ *
485
+ * - `"sum"`: ∑, `\sum`;
486
+ * - `"product"`: ∏, `\prod`;
487
+ * - `"coproduct"`: ∐, `\coprod`;
488
+ * - `"union"`: ⋃, `\bigcup`;
489
+ * - `"intersection"`: ⋂, `\bigcap`;
490
+ * - `"squareUnion"`: ⨆, `\bigsqcup`;
491
+ * - `"multisetUnion"`: ⨄, `\biguplus`;
492
+ * - `"logicalOr"`: ⋁, `\bigvee`;
493
+ * - `"logicalAnd"`: ⋀, `\bigwedge`;
494
+ * - `"directSum"`: ⨁, `\bigoplus`;
495
+ * - `"tensorProduct"`: ⨂, `\bigotimes`;
496
+ * - `"circledDot"`: ⨀, `\bigodot`;
497
+ * - `"integral"`: ∫, `\int`;
498
+ * - `"doubleIntegral"`: ∬, `\iint`;
499
+ * - `"tripleIntegral"`: ∭, `\iiint`;
500
+ * - `"quadrupleIntegral"`: ⨌, `\iiiint`;
501
+ * - `"contourIntegral"`: ∮, `\oint`;
502
+ * - `"surfaceIntegral"`: ∯, `\oiint`;
503
+ * - `"volumeIntegral"`: ∰, `\oiiint`.
504
+ */
505
+ export declare type MathLargeOperatorName = "sum" | "product" | "coproduct" | "union" | "intersection" | "squareUnion" | "multisetUnion" | "logicalOr" | "logicalAnd" | "directSum" | "tensorProduct" | "circledDot" | "integral" | "doubleIntegral" | "tripleIntegral" | "quadrupleIntegral" | "contourIntegral" | "surfaceIntegral" | "volumeIntegral";
506
+
507
+ /**
508
+ * Options for {@link MathLargeOperator}.
509
+ */
510
+ export declare type MathLargeOperatorOptions = {
511
+ /** The operator */
512
+ readonly operator: MathLargeOperatorName;
513
+ /** What the operator applies to, such as the terms of a sum */
514
+ readonly children: readonly MathComponent[];
515
+ /** The lower limit, such as `i=1` */
516
+ readonly subScript?: readonly MathComponent[];
517
+ /** The upper limit, such as `n` */
518
+ readonly superScript?: readonly MathComponent[];
519
+ /**
520
+ * Where the limits go: above and below the operator, or to its right.
521
+ * @default "side" for integrals, and "aboveBelow" for the others, as Word puts them
522
+ */
523
+ readonly limits?: MathLimitsPosition;
524
+ };
525
+
526
+ export { MathLimit }
527
+
528
+ export { MathLimitLower }
529
+
530
+ export { MathLimitsPosition }
531
+
532
+ export { MathLimitUpper }
533
+
534
+ /**
535
+ * A matrix (`m:m`), in brackets or none (`m:d`): LaTeX's `matrix`, `pmatrix`, `bmatrix`, `Bmatrix`, `vmatrix` and
536
+ * `Vmatrix`.
537
+ *
538
+ * Word lines up each column's cells as `columnAlignment` says, and hides the placeholders of empty cells. LibreOffice
539
+ * and Pages centre every column.
540
+ *
541
+ * @example
542
+ * ```typescript
543
+ * new MathMatrix({
544
+ * brackets: "round",
545
+ * rows: [
546
+ * [[new MathRun("1")], [new MathRun("2")]],
547
+ * [[new MathRun("3")], [new MathRun("4")]],
548
+ * ],
549
+ * });
550
+ * ```
551
+ */
552
+ export declare class MathMatrix extends BuilderElement {
553
+ constructor({ brackets, ...options }: MathMatrixOptions);
554
+ }
555
+
556
+ /**
557
+ * The brackets around a matrix:
558
+ *
559
+ * - `"none"`: none, as LaTeX's `matrix`;
560
+ * - `"round"`: ( ), as `pmatrix`;
561
+ * - `"square"`: [ ], as `bmatrix`;
562
+ * - `"curly"`: { }, as `Bmatrix`;
563
+ * - `"angled"`: ⟨ ⟩;
564
+ * - `"verticalBars"`: | |, as `vmatrix`, for determinants;
565
+ * - `"doubleVerticalBars"`: ‖ ‖, as `Vmatrix`, for norms.
566
+ */
567
+ export declare type MathMatrixBrackets = "none" | "round" | "square" | "curly" | "angled" | "verticalBars" | "doubleVerticalBars";
568
+
569
+ /**
570
+ * Options for {@link MathMatrix}.
571
+ */
572
+ export declare type MathMatrixOptions = {
573
+ /**
574
+ * The rows, each a list of cells, and each cell the math in it (`m:mr`, `m:e`). A row shorter than the longest gets
575
+ * empty cells at its end. Word allows at most 256 rows and 64 cells in a row.
576
+ */
577
+ readonly rows: readonly (readonly (readonly MathComponent[])[])[];
578
+ /**
579
+ * The brackets around the matrix.
580
+ * @default "none"
581
+ */
582
+ readonly brackets?: MathMatrixBrackets;
583
+ /**
584
+ * Where the cells go across their columns: one alignment for every column, or one for each column.
585
+ * @default "center"
586
+ */
587
+ readonly columnAlignment?: MathColumnAlignment | readonly MathColumnAlignment[];
588
+ /**
589
+ * Where the matrix sits on its line.
590
+ * @default "center"
591
+ */
592
+ readonly verticalAlignment?: MathVerticalAlignment;
593
+ };
594
+
595
+ export { MathNumerator }
596
+
597
+ /**
598
+ * A phantom (`m:phant`): math that takes up room without being seen, as LaTeX's `\phantom`, to leave space for it or
599
+ * line things up with it. Or math that is seen but takes up no room, or less, as `\smash`.
600
+ *
601
+ * @example
602
+ * ```typescript
603
+ * // As much space as "x+y" takes up
604
+ * new MathPhantom({ children: [new MathRun("x+y")] });
605
+ *
606
+ * // A tall fraction that doesn't push its line apart
607
+ * new MathPhantom({ visible: true, height: false, depth: false, children: [fraction] });
608
+ * ```
609
+ */
610
+ export declare class MathPhantom extends BuilderElement {
611
+ constructor({ children, visible, width, height, depth }: MathPhantomOptions);
612
+ }
613
+
614
+ /**
615
+ * Options for {@link MathPhantom}.
616
+ */
617
+ export declare type MathPhantomOptions = {
618
+ /** The math */
619
+ readonly children: readonly MathComponent[];
620
+ /**
621
+ * Whether the math is seen (`m:show`).
622
+ * @default false
623
+ */
624
+ readonly visible?: boolean;
625
+ /**
626
+ * Whether it takes up its width. False gives it none (`m:zeroWid`), as LaTeX's `\vphantom`.
627
+ * @default true
628
+ */
629
+ readonly width?: boolean;
630
+ /**
631
+ * Whether it takes up its height above the line. False gives it none (`m:zeroAsc`), as LaTeX's `\hphantom` and
632
+ * `\smash`.
633
+ * @default true
634
+ */
635
+ readonly height?: boolean;
636
+ /**
637
+ * Whether it takes up its depth below the line. False gives it none (`m:zeroDesc`), as LaTeX's `\hphantom` and
638
+ * `\smash`.
639
+ * @default true
640
+ */
641
+ readonly depth?: boolean;
642
+ };
643
+
644
+ /** Whether something goes above or below the math it is on */
645
+ export declare type MathPosition = "above" | "below";
646
+
647
+ export { MathPreSubSuperScript }
648
+
649
+ export { MathRadical }
650
+
651
+ export { MathRadicalProperties }
652
+
653
+ export { MathRoundBrackets }
654
+
655
+ export { MathRun }
656
+
657
+ export { MathRunOptions }
658
+
659
+ export { MathRunScript }
660
+
661
+ export { MathRunStyle }
662
+
663
+ export { MathSquareBrackets }
664
+
665
+ export { MathSubScript }
666
+
667
+ export { MathSubSuperScript }
668
+
669
+ export { MathSum }
670
+
671
+ export { MathSuperScript }
672
+
673
+ /** Where a matrix or equation array sits on its line (`m:baseJc`): its top, its middle or its bottom on the line */
674
+ export declare type MathVerticalAlignment = "top" | "center" | "bottom";
675
+
676
+ export { }