@docx-editor.dev/core 2.29.0 → 2.31.0

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 (107) hide show
  1. package/dist/automation.cjs +1 -1
  2. package/dist/automation.d.ts +22 -26
  3. package/dist/automation.js +1 -1
  4. package/dist/binding.cjs +1 -1
  5. package/dist/binding.d.ts +47 -40
  6. package/dist/binding.js +1 -1
  7. package/dist/bookmark-names-DDuAra_V.d.ts +37 -0
  8. package/dist/{chrome-print-CAs51cpq.d.ts → chrome-print-BWvaVEhD.d.ts} +577 -243
  9. package/dist/chunk-243W4WW2.cjs +2 -0
  10. package/dist/{chunk-G4HOFIKJ.js → chunk-2E2RPEKX.js} +1 -1
  11. package/dist/chunk-4S24UOPG.js +30 -0
  12. package/dist/chunk-5JPIEN54.cjs +3 -0
  13. package/dist/{chunk-7WQ7AAHW.cjs → chunk-5SO5QDMV.cjs} +1 -1
  14. package/dist/{chunk-UHHYFIDT.cjs → chunk-6IDOVU6L.cjs} +1 -1
  15. package/dist/chunk-DBOOTED4.cjs +30 -0
  16. package/dist/chunk-EOTAXOJY.cjs +5 -0
  17. package/dist/chunk-FDAKJ2SJ.cjs +30 -0
  18. package/dist/chunk-FNNOJNGY.js +3 -0
  19. package/dist/chunk-FT33HRZP.js +5 -0
  20. package/dist/{chunk-W35WTWAO.cjs → chunk-HC6YNKUI.cjs} +1 -1
  21. package/dist/chunk-HZ66UCIS.js +2 -0
  22. package/dist/{chunk-MM5QBMTE.cjs → chunk-IBRBNT37.cjs} +1 -1
  23. package/dist/chunk-IVIN7X43.js +30 -0
  24. package/dist/chunk-LZY6B6IV.js +4 -0
  25. package/dist/chunk-MOYYRVFV.cjs +2 -0
  26. package/dist/{chunk-OMCG63ZF.js → chunk-N6B3BXCL.js} +1 -1
  27. package/dist/chunk-Q5K2GGNG.js +2 -0
  28. package/dist/chunk-R2XINWVE.js +7 -0
  29. package/dist/chunk-SUEXVBPR.js +1 -0
  30. package/dist/chunk-T2QQHG5C.js +18 -0
  31. package/dist/{chunk-LSZ6KPKK.js → chunk-VWIJKH4A.js} +1 -1
  32. package/dist/chunk-WO4V6PNS.cjs +18 -0
  33. package/dist/chunk-XMJKFURD.cjs +4 -0
  34. package/dist/{chunk-BY2ACZZ6.cjs → chunk-XSTGE3NI.cjs} +1 -1
  35. package/dist/chunk-YQWMI6J5.cjs +7 -0
  36. package/dist/{chunk-RCLZXP3B.js → chunk-ZCJS7D7S.js} +1 -1
  37. package/dist/collaboration/replication.cjs +1 -1
  38. package/dist/collaboration/replication.d.ts +4 -5
  39. package/dist/collaboration/replication.js +1 -1
  40. package/dist/collaboration.d.ts +3 -4
  41. package/dist/contracts/document.d.ts +3 -3
  42. package/dist/contracts/editor.d.ts +8 -9
  43. package/dist/contracts/interaction.d.ts +2 -2
  44. package/dist/contracts/modules.d.ts +12 -13
  45. package/dist/contracts/types.d.ts +2 -2
  46. package/dist/{custom-node-writes-Bn6uciLb.d.ts → custom-node-writes-TeUvMP13.d.ts} +2 -2
  47. package/dist/{diagnostic-context-B8M79cfK.d.ts → diagnostic-context-DJ0P1uZE.d.ts} +3 -2
  48. package/dist/{diagnostic-hints-BeVjfNOv.d.ts → diagnostic-hints-C9JlLz1L.d.ts} +12 -5
  49. package/dist/{document-protection-CUb55pl_.d.ts → document-protection-C8x3P2J6.d.ts} +1 -1
  50. package/dist/{editor-CZQZmTIU.d.ts → editor-B2ShlO23.d.ts} +368 -52
  51. package/dist/{editor-scope-7o9xweiJ.d.ts → editor-scope-C7ke1KJG.d.ts} +57 -4
  52. package/dist/editor.cjs +1 -1
  53. package/dist/editor.css +5 -3
  54. package/dist/editor.d.ts +606 -34
  55. package/dist/editor.js +1 -1
  56. package/dist/export.cjs +2 -2
  57. package/dist/export.d.ts +17 -15
  58. package/dist/export.js +2 -2
  59. package/dist/{font-resolver-lSBLirLR.d.ts → font-resolver-CWh40DYp.d.ts} +1 -1
  60. package/dist/font-shaping-policy-BvpkrfxM.d.ts +7 -0
  61. package/dist/{headless-document-view-pp3q7wIh.d.ts → headless-document-view-qOpaCF82.d.ts} +2 -2
  62. package/dist/index.cjs +1 -1
  63. package/dist/index.d.ts +24 -24
  64. package/dist/index.js +1 -1
  65. package/dist/{layout-shaping-BD-dF_rn.d.ts → layout-shaping-CWS3j0Xr.d.ts} +3 -2
  66. package/dist/layout.cjs +1 -1
  67. package/dist/layout.d.ts +112 -44
  68. package/dist/layout.js +1 -1
  69. package/dist/{note-properties-qQUjO1GQ.d.ts → note-properties-QsKh24sM.d.ts} +1 -1
  70. package/dist/{omml-equation-BUbU0utM.d.ts → omml-equation-BsLAa2lX.d.ts} +38 -8
  71. package/dist/output.cjs +1 -1
  72. package/dist/output.d.ts +20 -10
  73. package/dist/output.js +1 -1
  74. package/dist/{protocol-DYzzz2ej.d.ts → protocol-COZJUKUY.d.ts} +94 -2
  75. package/dist/{review-paragraph-order-CN_0l2Cb.d.ts → review-paragraph-order-C_QbCKcH.d.ts} +1 -1
  76. package/dist/{semantic-cell-selection-eYag3P47.d.ts → semantic-cell-selection-Cub9FDa8.d.ts} +2 -2
  77. package/dist/{semantic-interaction-kR_QB845.d.ts → semantic-interaction-dApRIYpt.d.ts} +1 -1
  78. package/dist/{semantic-paint-ZayFF3tD.d.ts → semantic-paint-DLzA8sjP.d.ts} +3 -3
  79. package/dist/{semantic-record-queries-Bsgth6lv.d.ts → semantic-record-queries-3yp9o11g.d.ts} +1 -1
  80. package/dist/{semantic-records-DQmumPgL.d.ts → semantic-records-B-akgRch.d.ts} +207 -139
  81. package/dist/store.cjs +1 -1
  82. package/dist/store.d.ts +49 -136
  83. package/dist/store.js +1 -1
  84. package/dist/{tree-package-store-CovjNARF.d.ts → tree-package-store-B8l8DX3Z.d.ts} +612 -428
  85. package/dist/{tree-session-contract-CZVAGl51.d.ts → tree-session-contract-DeLRqohz.d.ts} +28 -13
  86. package/dist/{types-barrel-DuC5QBNC.d.ts → types-barrel-CkF2JbU4.d.ts} +1146 -745
  87. package/package.json +2 -2
  88. package/dist/chunk-236O4YQW.js +0 -2
  89. package/dist/chunk-6JPL6ZAS.cjs +0 -5
  90. package/dist/chunk-6ZQP4HQ7.js +0 -3
  91. package/dist/chunk-BCXH4BXB.js +0 -5
  92. package/dist/chunk-CAJEXXVG.cjs +0 -4
  93. package/dist/chunk-CPWLFPWC.js +0 -30
  94. package/dist/chunk-D7ZMDMPX.cjs +0 -3
  95. package/dist/chunk-DOHF6FA7.cjs +0 -30
  96. package/dist/chunk-DVX32P2P.js +0 -27
  97. package/dist/chunk-E4LOMDNL.js +0 -1
  98. package/dist/chunk-EKLM7NWB.cjs +0 -7
  99. package/dist/chunk-G3K63G7P.cjs +0 -27
  100. package/dist/chunk-JLVBDYVQ.cjs +0 -2
  101. package/dist/chunk-LQX36Z5P.js +0 -7
  102. package/dist/chunk-OSFOJTHU.cjs +0 -18
  103. package/dist/chunk-T6K2QYNZ.cjs +0 -2
  104. package/dist/chunk-TRGAVV2Y.js +0 -4
  105. package/dist/chunk-U4JZVSOE.js +0 -2
  106. package/dist/chunk-YQ5G6LC7.js +0 -18
  107. package/dist/image-resources-tXLQShoC.d.ts +0 -211
@@ -1,6 +1,5 @@
1
- import { N as OoxmlNode, ah as OoxmlProperty, O as OoxmlPart, ak as OoxmlElement, aM as TableBorderStyle, aN as DrawingAccessibility, aO as DrawingImageEffects, aI as SourceCrop, aP as DrawingTransform, aQ as VectorShapeProjection, X as DrawingHorizontalReferenceFrame, $ as DrawingVerticalReferenceFrame, a1 as ImageWrapTarget, an as DrawingProjection, aR as OoxmlDrawingNode } from './types-barrel-DuC5QBNC.js';
2
- import { I as ImageResourceState } from './image-resources-tXLQShoC.js';
3
- import { O as OmmlEquationProjection } from './omml-equation-BUbU0utM.js';
1
+ import { N as OoxmlNode, at as OoxmlProperty, O as OoxmlPart, ap as OoxmlElement, b3 as TableBorderStyle, a1 as ImageResourceState, b4 as DrawingAccessibility, b5 as DrawingImageEffects, aT as SourceCrop, b2 as DrawingTransform, b6 as VectorShapeProjection, X as DrawingHorizontalReferenceFrame, $ as DrawingVerticalReferenceFrame, a2 as ImageWrapTarget, b7 as DrawingProjection, b8 as OoxmlDrawingNode } from './types-barrel-CkF2JbU4.js';
2
+ import { O as OmmlEquationProjection } from './omml-equation-BsLAa2lX.js';
4
3
 
5
4
  /** Named revision colors. Identifiers are stable and never contain CSS. @public */
6
5
  declare const REVISION_MARKUP_COLORS: readonly ['black', 'blue', 'turquoise', 'green', 'pink', 'red', 'yellow', 'white', 'darkBlue', 'teal', 'darkGreen', 'violet', 'darkRed', 'darkYellow', 'gray50', 'gray25', 'lightBlue', 'lightYellow', 'lightOrange', 'lightPurple', 'lightGreen', 'gray'];
@@ -240,14 +239,6 @@ declare function formatRevisionOf(properties: readonly {
240
239
  /** True when this stack of revisions marks its content as deleted from the live document. */
241
240
  declare function revisionsAreDeletion(revisions: readonly RevisionAttribution[]): boolean;
242
241
 
243
- /** A strikeout stroke at the drawn size, in points. `offsetPt` is the stroke TOP. @public */
244
- interface StrikeoutStrokePt {
245
- /** Distance from the baseline UP to the top of the stroke. */
246
- readonly offsetPt: number;
247
- /** Stroke height. Always positive. */
248
- readonly thicknessPt: number;
249
- }
250
-
251
242
  /**
252
243
  * Whether a paragraph must start a new page (`w:pageBreakBefore`).
253
244
  *
@@ -1615,6 +1606,8 @@ interface ThemeFonts {
1615
1606
  readonly minorSupplemental?: Readonly<Record<string, string>>;
1616
1607
  /** Lower-cased font table names that declare a Chinese character set. */
1617
1608
  readonly chineseFontTableFaces?: readonly string[];
1609
+ /** Lower-cased font table names that declare an East Asian character set. */
1610
+ readonly eastAsianFontTableFaces?: readonly string[];
1618
1611
  }
1619
1612
  /**
1620
1613
  * Resolve one run's direct formatting.
@@ -1903,6 +1896,12 @@ declare function resolveStoryRefFields(blocks: readonly OoxmlElement[], listItem
1903
1896
  * view decision made downstream, so this states the fact and nothing about the appearance.
1904
1897
  */
1905
1898
  interface FieldAtomMarker {
1899
+ /**
1900
+ * A plain REF cross-reference with no nested field (not PAGEREF or NOTEREF): its result,
1901
+ * the target's text or number, never changes with pagination, so a justified line may treat
1902
+ * it as an ordinary word.
1903
+ */
1904
+ readonly fixedResult?: true;
1906
1905
  /**
1907
1906
  * A legacy form field: `w:fldChar/w:ffData` (FORMTEXT, FORMCHECKBOX, FORMDROPDOWN).
1908
1907
  *
@@ -1986,6 +1985,22 @@ type HyperlinkProjector = (link: OoxmlNode) => SpanLinkRecord | null;
1986
1985
  */
1987
1986
  type FieldLinkProjector = (spec: HyperlinkFieldSpec) => SpanLinkRecord | null;
1988
1987
 
1988
+ /** Document-wide East Asian line-break and whitespace policy. @public */
1989
+ interface CjkTypographySettings {
1990
+ /** Apply the strict Japanese small-kana and prolonged-sound-mark restrictions. */
1991
+ readonly strict: boolean;
1992
+ /** Disable adjacent full-width punctuation compression when false. */
1993
+ readonly punctuationKerning?: boolean;
1994
+ /** The document defaults explicitly select an East Asian face as the East Asian font. */
1995
+ readonly sourceEastAsianFont?: boolean;
1996
+ /** Whitespace compression selected by `w:characterSpacingControl`. */
1997
+ readonly compression: 'doNotCompress' | 'compressPunctuation' | 'compressPunctuationAndJapaneseKana';
1998
+ /** Custom no-line-start characters, keyed by normalized language tag. */
1999
+ readonly before: Readonly<Record<string, string>>;
2000
+ /** Custom no-line-end characters, keyed by normalized language tag. */
2001
+ readonly after: Readonly<Record<string, string>>;
2002
+ }
2003
+
1989
2004
  /** Soft ceiling matching Word's practical custom-tab UI limit. */
1990
2005
  declare const MAX_TAB_STOPS = 64;
1991
2006
  /**
@@ -2107,18 +2122,6 @@ declare function tabAdvanceWidth(alignment: TabAlignment, currentX: number, dest
2107
2122
  */
2108
2123
  declare function tabStopsFingerprint(tabs: ResolvedTabStops): string;
2109
2124
 
2110
- /** Document-wide East Asian line-break and whitespace policy. @public */
2111
- interface CjkTypographySettings {
2112
- /** Apply the strict Japanese small-kana and prolonged-sound-mark restrictions. */
2113
- readonly strict: boolean;
2114
- /** Whitespace compression selected by `w:characterSpacingControl`. */
2115
- readonly compression: 'doNotCompress' | 'compressPunctuation' | 'compressPunctuationAndJapaneseKana';
2116
- /** Custom no-line-start characters, keyed by normalized language tag. */
2117
- readonly before: Readonly<Record<string, string>>;
2118
- /** Custom no-line-end characters, keyed by normalized language tag. */
2119
- readonly after: Readonly<Record<string, string>>;
2120
- }
2121
-
2122
2125
  /** Test-only mutable counters; omitted by production call sites. Not package-public. */
2123
2126
  interface TableBorderGridResolveWork {
2124
2127
  /** Sparse intervals emitted (not dense column slots). */
@@ -2372,6 +2375,39 @@ interface GroupTextboxStoryRecord {
2372
2375
  readonly rotationDegrees: number;
2373
2376
  }
2374
2377
 
2378
+ /** `x' = scaleX * x + offsetX`, `y' = scaleY * y + offsetY`, from text space into the box. */
2379
+ interface TextArtFit {
2380
+ readonly scaleX: number;
2381
+ readonly scaleY: number;
2382
+ readonly offsetX: number;
2383
+ readonly offsetY: number;
2384
+ }
2385
+ interface DrawingTextArtRecord {
2386
+ readonly text: string;
2387
+ readonly fontFamily: string;
2388
+ readonly bold: boolean;
2389
+ readonly italic: boolean;
2390
+ /** Size of the unfitted text that `fit` maps into the box. */
2391
+ readonly fontSizePt: number;
2392
+ /** `RRGGBB`, or null when the text is not filled. */
2393
+ readonly fillHex: string | null;
2394
+ readonly fillAlpha: number;
2395
+ /** `RRGGBB`, or null when the text is not outlined. */
2396
+ readonly strokeHex: string | null;
2397
+ readonly strokeAlpha: number;
2398
+ readonly strokeWidthPt: number;
2399
+ /** Clockwise rotation about the box centre. */
2400
+ readonly rotationDegrees: number;
2401
+ /**
2402
+ * The fitted glyph outlines in points from the box's top-left corner, as absolute M/L/Q/C/Z
2403
+ * path data. Null when the measurer knew only the ink box: paint then draws the text at
2404
+ * `fontSizePt` through `fit`.
2405
+ */
2406
+ readonly path: string | null;
2407
+ /** Null when the measurer could not bound the string's ink: nothing paints. */
2408
+ readonly fit: TextArtFit | null;
2409
+ }
2410
+
2375
2411
  /** Clip `box` to a horizontal content band; preserves authored size, zeroes clipped axes. */
2376
2412
  /** How a drawing record holds the picture member of a shape group. */
2377
2413
  interface DrawingGroupPictureRecord {
@@ -2489,6 +2525,8 @@ interface AnchoredDrawingRecord extends Omit<InlineDrawingRecord, 'kind' | 'base
2489
2525
  readonly layoutFallback?: AnchoredDrawingLayoutFallback;
2490
2526
  /** Canonical document traversal index within the owner story part. */
2491
2527
  readonly sourceOrder?: number;
2528
+ /** Floating VML text art fitted to the box; paint draws it instead of a resource. */
2529
+ readonly textArt?: DrawingTextArtRecord;
2492
2530
  }
2493
2531
 
2494
2532
  /**
@@ -2551,25 +2589,6 @@ declare function readNumPr(paragraphPropertyNodes: readonly OoxmlNode[]): {
2551
2589
  * and so it is when nothing delegates, which keeps layout cache identity.
2552
2590
  */
2553
2591
  declare function withNumberingStyleLinks(index: NumberingIndex, styleCascade: StyleCascadeTable | undefined): NumberingIndex;
2554
- /**
2555
- * The effective indent of a list paragraph: `inherited`, then the numbering LEVEL, then
2556
- * `direct`, per attribute.
2557
- *
2558
- * A level's `w:pPr/w:ind` applies per attribute between the two tiers, and the ordering
2559
- * matters on real documents. A converted agreement numbers its `(a)` items with a level
2560
- * stating `left=1512 hanging=738` under a `ListParagraph` style stating
2561
- * `left=775 hanging=624`, and states only `hanging="737"` on the paragraph itself. Reading
2562
- * the flattened cascade as "the paragraph's indent" gave the STYLE's 775 to a level that had
2563
- * overridden it, so every lettered sub-item hung a full indent step to the left of where
2564
- * Word puts it.
2565
- *
2566
- * `inherited` is what the level outranks and `direct` is what outranks it. When the
2567
- * paragraph's own `w:pPr` states a `w:numPr`, these are the style chain (after the document
2568
- * defaults) and that `w:pPr`. Otherwise the level sits directly below the nearest style that
2569
- * states a `w:numPr`: that style, the styles based on it and the paragraph's own `w:pPr` go
2570
- * in `direct`, and the defaults and that style's bases go in `inherited`.
2571
- */
2572
- declare function mergeListIndent(levelIndent: NumberingLevelIndent, inherited: readonly OoxmlProperty[], direct?: readonly OoxmlProperty[]): NumberingLevelIndent;
2573
2592
 
2574
2593
  /**
2575
2594
  * Resolve every list paragraph in a story to a {@link ResolvedListItem}, keyed by node id.
@@ -2845,6 +2864,8 @@ interface EquationTextGeometry extends EquationGeometryBase {
2845
2864
  readonly kind: 'text' | 'fallback';
2846
2865
  readonly text: string;
2847
2866
  readonly fontSizePt: number;
2867
+ /** The same resolved face used by measurement and the trusted paint sink. */
2868
+ readonly runStyle?: ResolvedRunStyle;
2848
2869
  }
2849
2870
  interface EquationRowGeometry extends EquationGeometryBase {
2850
2871
  readonly kind: 'row';
@@ -2863,6 +2884,11 @@ interface EquationRadicalGeometry extends EquationGeometryBase {
2863
2884
  readonly degree?: EquationGeometry;
2864
2885
  readonly bar: LayoutBox;
2865
2886
  }
2887
+ interface EquationBarGeometry extends EquationGeometryBase {
2888
+ readonly kind: 'bar';
2889
+ readonly body: EquationGeometry;
2890
+ readonly bar: LayoutBox;
2891
+ }
2866
2892
  interface EquationScriptGeometry extends EquationGeometryBase {
2867
2893
  readonly kind: 'script';
2868
2894
  readonly base: EquationGeometry;
@@ -2876,7 +2902,7 @@ interface EquationNaryGeometry extends EquationGeometryBase {
2876
2902
  readonly lowerLimit?: EquationGeometry;
2877
2903
  readonly upperLimit?: EquationGeometry;
2878
2904
  }
2879
- type EquationGeometry = EquationTextGeometry | EquationRowGeometry | EquationFractionGeometry | EquationRadicalGeometry | EquationScriptGeometry | EquationNaryGeometry;
2905
+ type EquationGeometry = EquationTextGeometry | EquationRowGeometry | EquationFractionGeometry | EquationRadicalGeometry | EquationBarGeometry | EquationScriptGeometry | EquationNaryGeometry;
2880
2906
  /** Equation metadata carried by one atomic semantic span. */
2881
2907
  interface EquationSpanRecord {
2882
2908
  readonly sourceNodeId: string;
@@ -2974,6 +3000,73 @@ interface SemanticCommentArtifactRecord {
2974
3000
  /** Exporter-neutral review artifact normalized by core. @public */
2975
3001
  type SemanticReviewArtifactRecord = SemanticTrackedChangeArtifactRecord | SemanticCommentArtifactRecord;
2976
3002
 
3003
+ /**
3004
+ * Raw `w:lock/@w:val` on one control, or `unlocked` when absent / unrecognised.
3005
+ *
3006
+ * Effective permissions across a nesting chain are the union of every ancestor's lock on two
3007
+ * axes (content edit / removal); see {@link ContentControlBoundaryRecord.effectiveLock}.
3008
+ */
3009
+ type ContentControlLock = 'unlocked' | 'sdtLocked' | 'contentLocked' | 'sdtContentLocked';
3010
+ /**
3011
+ * Mapped control type for layout / chrome — same members as the shipped public
3012
+ * `ContentControlType`. Untyped and preserved-only kinds report as `richText`.
3013
+ */
3014
+ type ContentControlMappedType = 'richText' | 'plainText' | 'checkbox' | 'dropdown' | 'comboBox' | 'date' | 'picture' | 'buildingBlockGallery' | 'repeatingSection';
3015
+ /** Where the control sits in the tree relative to its content. */
3016
+ type ContentControlLevel = 'block' | 'inline' | 'row' | 'cell';
3017
+ /**
3018
+ * One piece of a control's content geometry.
3019
+ *
3020
+ * A block control that crosses a page break publishes one fragment per page rather than a
3021
+ * single rectangle covering the inter-page gap. An inline control publishes one fragment per
3022
+ * LINE it touches, covering the text's vertical extent (line-spacing leading excluded), so a
3023
+ * wrapped control never claims the words beside it. Coordinates match fragment boxes
3024
+ * (page-content space).
3025
+ */
3026
+ interface ContentControlGeometryFragment {
3027
+ readonly pageIndex: number;
3028
+ readonly box: LayoutBox;
3029
+ }
3030
+ /**
3031
+ * Layout-published boundary for one content control (`w:sdt` / typed `contentControl`).
3032
+ *
3033
+ * Chrome, lock feedback, and hit resolution read this record — never painted DOM. The wrapper
3034
+ * itself is not a layout box; `fragments` cover the content that already flowed in place.
3035
+ */
3036
+ interface ContentControlBoundaryRecord {
3037
+ /** Canonical node id of the control wrapper — not `w:id`. */
3038
+ readonly id: string;
3039
+ readonly alias?: string;
3040
+ readonly tag?: string;
3041
+ readonly controlType: ContentControlMappedType;
3042
+ /** This control's own `w:lock`, before ancestor union. */
3043
+ readonly lock: ContentControlLock;
3044
+ /**
3045
+ * Nested lock union with every ancestor control, collapsed back to a single `ST_Lock`
3046
+ * vocabulary value (both axes locked → `sdtContentLocked`).
3047
+ */
3048
+ readonly effectiveLock: ContentControlLock;
3049
+ /** `w:showingPlcHdr` is present on the control's properties. */
3050
+ readonly placeholder: boolean;
3051
+ /** `w:dataBinding` is present — content edits are refused as bound. */
3052
+ readonly bound: boolean;
3053
+ /** 0 for a top-level control; increments through nested wrappers under the shared nesting bound. */
3054
+ readonly nestingDepth: number;
3055
+ readonly level: ContentControlLevel;
3056
+ readonly fragments: readonly ContentControlGeometryFragment[];
3057
+ /** An inline control's model offsets in its paragraph; positions map through this, not geometry. */
3058
+ readonly range?: ContentControlModelRange;
3059
+ }
3060
+ /** `[start, end)` UTF-16 offsets of an inline control's content in one paragraph. */
3061
+ interface ContentControlModelRange {
3062
+ /** The paragraph that holds the control. */
3063
+ readonly paragraphId: string;
3064
+ /** Offset of the control's first character. */
3065
+ readonly start: number;
3066
+ /** Offset just past the control's last character. */
3067
+ readonly end: number;
3068
+ }
3069
+
2977
3070
  /** Page geometry, in points. */
2978
3071
  interface PageGeometry {
2979
3072
  readonly width: number;
@@ -2992,6 +3085,75 @@ interface PageGeometry {
2992
3085
  /** US Letter with one-inch margins, in points. */
2993
3086
  declare const DEFAULT_PAGE_GEOMETRY: PageGeometry;
2994
3087
 
3088
+ /** A strikeout stroke at the drawn size, in points. `offsetPt` is the stroke TOP. @public */
3089
+ interface StrikeoutStrokePt {
3090
+ /** Distance from the baseline UP to the top of the stroke. */
3091
+ readonly offsetPt: number;
3092
+ /** Stroke height. Always positive. */
3093
+ readonly thicknessPt: number;
3094
+ }
3095
+
3096
+ /**
3097
+ * A string's glyphs in points, x right and y down from the pen origin on the baseline, at the
3098
+ * style's size.
3099
+ *
3100
+ * `path` is SVG path data made only of absolute `M`, `L`, `Q`, `C` and `Z` commands, or null
3101
+ * when the measurer knows the ink box but not the outlines (a canvas measurer). `ink` bounds
3102
+ * every glyph's ink in the same space.
3103
+ */
3104
+ interface TextOutline {
3105
+ readonly path: string | null;
3106
+ readonly ink: {
3107
+ readonly left: number;
3108
+ readonly top: number;
3109
+ readonly right: number;
3110
+ readonly bottom: number;
3111
+ };
3112
+ }
3113
+ /**
3114
+ * Text measurement, injected.
3115
+ *
3116
+ * A real implementation shapes with the resolved font; the tests supply a deterministic one.
3117
+ * Layout never reads the DOM, so this is the only way width and height enter it.
3118
+ */
3119
+ interface TextMeasurer {
3120
+ /** Advance width of `text` in the resolved style. */
3121
+ measure(text: string, style: ResolvedRunStyle): number;
3122
+ /**
3123
+ * Optional whole-span logical caret advances, indexed by UTF-16 offset. Values
3124
+ * are nondecreasing, start at zero, and end at the measured advance. Ligature
3125
+ * interiors may share an edge. Undefined selects a bounded approximate fallback.
3126
+ */
3127
+ caretAdvances?(text: string, style: ResolvedRunStyle): readonly number[] | undefined;
3128
+ /**
3129
+ * Optional conservative ink bounds for one grapheme, in points from its origin.
3130
+ * Includes size and horizontal scale, but not trailing character spacing.
3131
+ * Undefined keeps layout on the advance-only path.
3132
+ */
3133
+ inkBounds?(text: string, style: ResolvedRunStyle): {
3134
+ left: number;
3135
+ right: number;
3136
+ } | undefined;
3137
+ /**
3138
+ * Optional glyph outlines of a whole string, for text drawn as a shape (VML text art).
3139
+ * Undefined when the face cannot answer; the shape then paints nothing rather than guess.
3140
+ */
3141
+ textOutline?(text: string, style: ResolvedRunStyle): TextOutline | undefined;
3142
+ /** Whether line metrics use an admitted face instead of approximate fallback metrics. */
3143
+ hasResolvedFont?(style: ResolvedRunStyle): boolean;
3144
+ /**
3145
+ * Optional `OS/2` strikeout stroke for the resolved face, at the drawn size. Word paints
3146
+ * `w:separator` as a strikeout, so the note rule reads its thickness and offset here rather
3147
+ * than assuming one face's numbers. Undefined keeps the caller's own default.
3148
+ */
3149
+ strikeoutMetrics?(style: ResolvedRunStyle): StrikeoutStrokePt | undefined;
3150
+ /** Line metrics for the actual text faces; omitted text measures the primary face. */
3151
+ lineMetrics(style: ResolvedRunStyle, text?: string): {
3152
+ height: number;
3153
+ baseline: number;
3154
+ };
3155
+ }
3156
+
2995
3157
  /** A half-open UTF-16 range inside one paragraph, addressed by its canonical node id. */
2996
3158
  interface SourceRange {
2997
3159
  readonly paragraphId: string;
@@ -3783,61 +3945,6 @@ interface NoteAreaRecord {
3783
3945
  * - `endnote-overflow`: sheets inserted to finish sectEnd/docEnd collections.
3784
3946
  */
3785
3947
  type PageNoteStream = 'footnote-drain' | 'endnote-overflow';
3786
- /**
3787
- * Raw `w:lock/@w:val` on one control, or `unlocked` when absent / unrecognised.
3788
- *
3789
- * Effective permissions across a nesting chain are the union of every ancestor's lock on two
3790
- * axes (content edit / removal); see {@link ContentControlBoundaryRecord.effectiveLock}.
3791
- */
3792
- type ContentControlLock = 'unlocked' | 'sdtLocked' | 'contentLocked' | 'sdtContentLocked';
3793
- /**
3794
- * Mapped control type for layout / chrome — same members as the shipped public
3795
- * `ContentControlType`. Untyped and preserved-only kinds report as `richText`.
3796
- */
3797
- type ContentControlMappedType = 'richText' | 'plainText' | 'checkbox' | 'dropdown' | 'comboBox' | 'date' | 'picture' | 'buildingBlockGallery' | 'repeatingSection';
3798
- /** Where the control sits in the tree relative to its content. */
3799
- type ContentControlLevel = 'block' | 'inline' | 'row' | 'cell';
3800
- /**
3801
- * One piece of a control's content geometry.
3802
- *
3803
- * A block control that crosses a page break publishes one fragment per page rather than a
3804
- * single rectangle covering the inter-page gap. An inline control publishes one fragment per
3805
- * LINE it touches, covering the text's vertical extent (line-spacing leading excluded), so a
3806
- * wrapped control never claims the words beside it. Coordinates match fragment boxes
3807
- * (page-content space).
3808
- */
3809
- interface ContentControlGeometryFragment {
3810
- readonly pageIndex: number;
3811
- readonly box: LayoutBox;
3812
- }
3813
- /**
3814
- * Layout-published boundary for one content control (`w:sdt` / typed `contentControl`).
3815
- *
3816
- * Chrome, lock feedback, and hit resolution read this record — never painted DOM. The wrapper
3817
- * itself is not a layout box; `fragments` cover the content that already flowed in place.
3818
- */
3819
- interface ContentControlBoundaryRecord {
3820
- /** Canonical node id of the control wrapper — not `w:id`. */
3821
- readonly id: string;
3822
- readonly alias?: string;
3823
- readonly tag?: string;
3824
- readonly controlType: ContentControlMappedType;
3825
- /** This control's own `w:lock`, before ancestor union. */
3826
- readonly lock: ContentControlLock;
3827
- /**
3828
- * Nested lock union with every ancestor control, collapsed back to a single `ST_Lock`
3829
- * vocabulary value (both axes locked → `sdtContentLocked`).
3830
- */
3831
- readonly effectiveLock: ContentControlLock;
3832
- /** `w:showingPlcHdr` is present on the control's properties. */
3833
- readonly placeholder: boolean;
3834
- /** `w:dataBinding` is present — content edits are refused as bound. */
3835
- readonly bound: boolean;
3836
- /** 0 for a top-level control; increments through nested wrappers under the shared nesting bound. */
3837
- readonly nestingDepth: number;
3838
- readonly level: ContentControlLevel;
3839
- readonly fragments: readonly ContentControlGeometryFragment[];
3840
- }
3841
3948
  /**
3842
3949
  * One laid-out page: the sheet, the content area, and everything that landed on it.
3843
3950
  *
@@ -3940,44 +4047,5 @@ interface SectionBreakMarkRecord {
3940
4047
  readonly kind: SectionBreakType;
3941
4048
  }
3942
4049
 
3943
- /**
3944
- * Text measurement, injected.
3945
- *
3946
- * A real implementation shapes with the resolved font; the tests supply a deterministic one.
3947
- * Layout never reads the DOM, so this is the only way width and height enter it.
3948
- */
3949
- interface TextMeasurer {
3950
- /** Advance width of `text` in the resolved style. */
3951
- measure(text: string, style: ResolvedRunStyle): number;
3952
- /**
3953
- * Optional whole-span logical caret advances, indexed by UTF-16 offset. Values
3954
- * are nondecreasing, start at zero, and end at the measured advance. Ligature
3955
- * interiors may share an edge. Undefined selects a bounded approximate fallback.
3956
- */
3957
- caretAdvances?(text: string, style: ResolvedRunStyle): readonly number[] | undefined;
3958
- /**
3959
- * Optional conservative ink bounds for one grapheme, in points from its origin.
3960
- * Includes size and horizontal scale, but not trailing character spacing.
3961
- * Undefined keeps layout on the advance-only path.
3962
- */
3963
- inkBounds?(text: string, style: ResolvedRunStyle): {
3964
- left: number;
3965
- right: number;
3966
- } | undefined;
3967
- /** Whether line metrics use an admitted face instead of approximate fallback metrics. */
3968
- hasResolvedFont?(style: ResolvedRunStyle): boolean;
3969
- /**
3970
- * Optional `OS/2` strikeout stroke for the resolved face, at the drawn size. Word paints
3971
- * `w:separator` as a strikeout, so the note rule reads its thickness and offset here rather
3972
- * than assuming one face's numbers. Undefined keeps the caller's own default.
3973
- */
3974
- strikeoutMetrics?(style: ResolvedRunStyle): StrikeoutStrokePt | undefined;
3975
- /** Line metrics for the actual text faces; omitted text measures the primary face. */
3976
- lineMetrics(style: ResolvedRunStyle, text?: string): {
3977
- height: number;
3978
- baseline: number;
3979
- };
3980
- }
3981
-
3982
- export { DEFAULT_REVISION_MARKUP as D, resolveRevisionMarkup as Q, DEFAULT_REVISION_DISPLAY_MODE as aA, DEFAULT_RUN_STYLE as aB, DEFAULT_SECTION_PROPERTIES as aC, DEFAULT_TAB_INTERVAL_PT as aD, DEFAULT_TAB_INTERVAL_TWIPS as aE, EMPTY_NUMBERING_INDEX as aL, EMPTY_TAB_STOPS as aM, FontResolutionError as aX, AUTO_PARAGRAPH_SPACING_PT as ap, DEFAULT_PAGE_GEOMETRY as az, HARD_MAX_AGGREGATE_FONT_BYTES as b4, HARD_MAX_FONT_BYTES as b5, HARD_MAX_FONT_SOURCES as b6, SINGLE_LINE_SPACING as bS, MAX_BORDER_SPACE_PT as bc, MAX_BORDER_WIDTH_PT as bd, MAX_DOCUMENT_SECTIONS as be, MAX_LVL_OVERRIDES as bf, MAX_NUMBERING_DEFINITIONS as bg, MAX_PARAGRAPH_SPACING_PT as bh, MAX_SHAPING_CONTEXT as bi, MAX_STYLE_DEFINITIONS as bj, MAX_TABLE_BORDER_STROKES as bk, MAX_TAB_POSITION_TWIPS as bl, MAX_TAB_STOPS as bm, PAGE_BORDER_SIDES as bq, PARAGRAPH_BORDER_SIDES as br, paragraphBorderExtentPt as c$, buildStyleCascadeTable as cA, cascadeParagraphFormatting as cB, cascadeRunProperties as cC, cascadedBottomBorder as cD, cascadedParagraphBorders as cE, cascadedTabStops as cF, collapsedSpaceBefore as cG, createFontResourceSnapshot as cH, createShapedRun as cI, createShapingEnvironment as cJ, defaultTabIntervalFromSettings as cK, displayText as cL, enumerateDocumentSections as cM, enumerateDocumentSectionsBounded as cN, fixedPoint as cO, fontRequestKey as cP, formatRevisionOf as cQ, geometryOfSection as cR, glyphSizeFactorOf as cS, isValidStyleId as cT, itemizeScriptFontSlots as cU, layoutEquation as cV, markRevisionRemovesMark as cW, measureDisplayText as cX, mergeListIndent as cY, nextTabDestination as cZ, pageBordersFingerprint as c_, TAB_LEADER_GLYPH as cf, UnsupportedScriptError as cq, appliedSpaceBefore as cs, applyLineSpacing as ct, baselineShiftPtOf as cu, borderExtentPt as cv, borderWeight as cw, bottomBorderExtentPt as cx, boundedStructuralFontValidator as cy, buildNumberingIndex as cz, paragraphBorderStrokeWidthPt as d0, paragraphBorders as d1, paragraphBordersFingerprint as d2, paragraphBreaksBefore as d3, paragraphContextualSpacing as d4, paragraphLineSpacing as d5, paragraphMarkFormatRevisionOf as d6, paragraphMarkRevisionOf as d7, paragraphMarkRevisionsOf as d8, paragraphSectionNode as d9, shapingEnvironmentFingerprintInputs as dA, shownMarkRevision as dB, styleForFontSlot as dC, tabAdvanceWidth as dD, tabStopsFingerprint as dE, withDefaultTabInterval as dF, withNumberingStyleLinks as dG, withResolvedListItems as dH, paragraphSpacing as da, paragraphTabStops as db, parsePageBorders as dc, parsePageNumbering as dd, parseRefInstruction as de, parseSectionProperties as df, projectedSectionSourceIndexes as dg, readBorderSide as dh, readCellBorders as di, readNumPr as dj, readSectionProperties as dk, readTableBorders as dl, resolveBorderConflict as dm, resolveNumberingLevel as dn, resolveParagraphLayoutInputs as dp, resolveRunStyle as dq, resolveStoryListItems as dr, resolveStoryRefFields as ds, resolveTableCellBorderGrid as dt, revisionAuthorFilter as du, revisionsAreDeletion as dv, revisionsVisible as dw, runStylesEqual as dx, shapedRunComparatorInputs as dy, shapingEnvironmentFingerprint as dz, REVISION_MARKUP_COLORS as w };
3983
- export type { TableBorderSide as $, AnchoredDrawingRecord as A, BlockFragmentRecord as B, ContentControlBoundaryRecord as C, RevisionMarkupColor as E, FontResourceSnapshot as F, RevisionMarkupMark as G, HeaderFooterStoryRecord as H, InlineDrawingRecord as I, RevisionMarkupNamedColor as J, RevisionMarkupStyle as K, LineRecord as L, RevisionMarkupTextStyle as M, NoteAreaRecord as N, SectionProperties as O, ParagraphFragmentRecord as P, RevisionMarkupDialogSession as R, SemanticLayout as S, TextMeasurer as T, NumberingLevel as U, VersionedShapingLibrary as V, NumberingIndex as W, DrawingPoint as X, DrawingInsets as Y, ModelRange as Z, RevisionAttribution as _, ReviewDisplayMode as a, FontResourceSnapshotOptions as a$, TableFloatXSpec as a0, TableFloatYSpec as a1, ResolvedListItem as a2, RefFieldContext as a3, InlineDrawingLayoutContext as a4, CellBorderBox as a5, TableBorderBox as a6, TableCellStyleFormatting as a7, TableFloatPosition as a8, StyleCascadeTable as a9, DeclaredFontSubstitution as aF, DocumentSection as aG, DocumentSectionsEnumeration as aH, DrawingClipFallback as aI, DrawingGeometry as aJ, DrawingGroupPictureRecord as aK, EquationFractionGeometry as aN, EquationGeometry as aO, EquationNaryGeometry as aP, EquationRadicalGeometry as aQ, EquationRowGeometry as aR, EquationScriptGeometry as aS, EquationSpanRecord as aT, EquationTextGeometry as aU, FieldAtomMarker as aV, FontFingerprintInputs as aW, FontResolutionErrorCode as aY, FontResourceDefinition as aZ, FontResourceInstrumentation as a_, RevisionAuthorFilter as aa, FixedPoint as ab, FontByteValidator as ac, SourceRange as ad, HyperlinkProjector as ae, FieldLinkProjector as af, StoryPageFieldNeeds as ag, HyperlinkFieldSpec as ah, SpanLinkRecord as ai, PageGeometry as aj, SectionColumns as ak, SectionPageBorders as al, PageBorderFrameRecord as am, ParagraphBorderStrokeRecord as an, StrikeoutStrokePt as ao, AbstractNumDefinition as aq, AnchoredDrawingLayoutFallback as ar, BidiEmbeddingLevels as as, BorderGridGeometry as at, CascadedParagraphFormatting as au, CjkTypographySettings as av, ContentControlGeometryFragment as aw, ContentControlLevel as ax, ContentControlMappedType as ay, RevisionDisplayMode as b, SemanticCommentArtifactRecord as b$, FontSlot as b0, FontValidationResult as b1, GlyphOutline as b2, GroupTextboxStoryRecord as b3, LevelOverride as b7, LineSpacingRule as b8, ListMarkerAlign as b9, ParagraphBorderEdge as bA, ParagraphBorderSide as bB, ParagraphBorders as bC, ParagraphBottomBorderRecord as bD, ParagraphIndent as bE, ParagraphLayoutInputs as bF, ParagraphLineSpacing as bG, ParagraphSpacing as bH, RefFieldSpec as bI, RefNoteParts as bJ, ResolvedCellBorders as bK, ResolvedPictureBullet as bL, ResolvedTabStops as bM, ResolvedTableBorderEdge as bN, ResolvedTableBorderEdgeSegment as bO, ResolvedUnderline as bP, RevisionFilter as bQ, RevisionKind as bR, ScriptItem as bT, SectionBreakMarkRecord as bU, SectionBreakType as bV, SectionColumnDefinition as bW, SectionMargins as bX, SectionPageNumbering as bY, SemanticArtifactRootStoryKind as bZ, SemanticArtifactStoryKind as b_, ListMarkerRecord as ba, ListSuffix as bb, NumDefinition as bn, NumberingLevelIndent as bo, NumberingPictureBullet as bp, PageBorderDisplay as bs, PageBorderOffsetFrom as bt, PageBorderSide as bu, PageBorderStrokeRecord as bv, PageBorderZOrder as bw, PageRefCalibrationCell as bx, PageRefFieldProjection as by, ParagraphAutoSpacingContext as bz, PageRecord as c, SemanticReviewArtifactOccurrence as c0, SemanticReviewArtifactOccurrenceGeometry as c1, SemanticReviewArtifactPosition as c2, SemanticReviewArtifactSource as c3, SemanticTrackedChangeArtifactRecord as c4, ShapeInput as c5, ShapedCluster as c6, ShapedFontSpan as c7, ShapedGlyph as c8, ShapedRunComparatorInputs as c9, ShapedVerticalMetrics as ca, ShapingContext as cb, ShapingEnvironment as cc, ShapingEnvironmentFingerprintInputs as cd, StyleDefinition as ce, TabAlignment as cg, TabDestination as ch, TabLeader as ci, TabStop as cj, TableBorderSideName as ck, TableBorderStrokeRecord as cl, TableFragmentRecord as cm, TextDirection as cn, TextboxStoryFallbackReason as co, TextboxStoryLayout as cp, VerticalAlign as cr, LayoutBox as d, NoteStoryRecord as e, ContentControlLock as f, StyleSpanRecord as g, TableRowFragmentRecord as h, TableCellFragmentRecord as i, ShapingEnvironmentInput as j, TextShaper as k, ResolvedRunStyle as l, ResolvedFont as m, NormalizationPolicy as n, FixedPointRoundingMode as o, FontRequest as p, ResolvedRevisionMarkup as q, SemanticReviewArtifactRecord as r, ListMarkerPictureRecord as s, RevisionMarkupOptions as t, FontSubstitution as u, ShapedRun as v, RevisionChangedLinesMark as x, RevisionDeletionMark as y, RevisionMarkupChromeHandlers as z };
4050
+ export { DEFAULT_REVISION_MARKUP as D, resolveRevisionMarkup as Q, FontResolutionError as a$, DEFAULT_PAGE_GEOMETRY as aB, DEFAULT_REVISION_DISPLAY_MODE as aC, DEFAULT_RUN_STYLE as aD, DEFAULT_SECTION_PROPERTIES as aE, DEFAULT_TAB_INTERVAL_PT as aF, DEFAULT_TAB_INTERVAL_TWIPS as aG, EMPTY_NUMBERING_INDEX as aO, EMPTY_TAB_STOPS as aP, AUTO_PARAGRAPH_SPACING_PT as aq, HARD_MAX_AGGREGATE_FONT_BYTES as b8, HARD_MAX_FONT_BYTES as b9, SINGLE_LINE_SPACING as bV, HARD_MAX_FONT_SOURCES as ba, MAX_BORDER_SPACE_PT as bg, MAX_BORDER_WIDTH_PT as bh, MAX_DOCUMENT_SECTIONS as bi, MAX_LVL_OVERRIDES as bj, MAX_NUMBERING_DEFINITIONS as bk, MAX_PARAGRAPH_SPACING_PT as bl, MAX_SHAPING_CONTEXT as bm, MAX_STYLE_DEFINITIONS as bn, MAX_TABLE_BORDER_STROKES as bo, MAX_TAB_POSITION_TWIPS as bp, MAX_TAB_STOPS as bq, PAGE_BORDER_SIDES as bt, PARAGRAPH_BORDER_SIDES as bu, markRevisionRemovesMark as c$, borderExtentPt as cA, borderWeight as cB, bottomBorderExtentPt as cC, boundedStructuralFontValidator as cD, buildNumberingIndex as cE, buildStyleCascadeTable as cF, cascadeParagraphFormatting as cG, cascadeRunProperties as cH, cascadedBottomBorder as cI, cascadedParagraphBorders as cJ, cascadedTabStops as cK, collapsedSpaceBefore as cL, createFontResourceSnapshot as cM, createShapedRun as cN, createShapingEnvironment as cO, defaultTabIntervalFromSettings as cP, displayText as cQ, enumerateDocumentSections as cR, enumerateDocumentSectionsBounded as cS, fixedPoint as cT, fontRequestKey as cU, formatRevisionOf as cV, geometryOfSection as cW, glyphSizeFactorOf as cX, isValidStyleId as cY, itemizeScriptFontSlots as cZ, layoutEquation as c_, TAB_LEADER_GLYPH as ci, UnsupportedScriptError as cv, appliedSpaceBefore as cx, applyLineSpacing as cy, baselineShiftPtOf as cz, measureDisplayText as d0, nextTabDestination as d1, pageBordersFingerprint as d2, paragraphBorderExtentPt as d3, paragraphBorderStrokeWidthPt as d4, paragraphBorders as d5, paragraphBordersFingerprint as d6, paragraphBreaksBefore as d7, paragraphContextualSpacing as d8, paragraphLineSpacing as d9, revisionsVisible as dA, runStylesEqual as dB, shapedRunComparatorInputs as dC, shapingEnvironmentFingerprint as dD, shapingEnvironmentFingerprintInputs as dE, shownMarkRevision as dF, styleForFontSlot as dG, tabAdvanceWidth as dH, tabStopsFingerprint as dI, withDefaultTabInterval as dJ, withNumberingStyleLinks as dK, withResolvedListItems as dL, paragraphMarkFormatRevisionOf as da, paragraphMarkRevisionOf as db, paragraphMarkRevisionsOf as dc, paragraphSectionNode as dd, paragraphSpacing as de, paragraphTabStops as df, parsePageBorders as dg, parsePageNumbering as dh, parseRefInstruction as di, parseSectionProperties as dj, projectedSectionSourceIndexes as dk, readBorderSide as dl, readCellBorders as dm, readNumPr as dn, readSectionProperties as dp, readTableBorders as dq, resolveBorderConflict as dr, resolveNumberingLevel as ds, resolveParagraphLayoutInputs as dt, resolveRunStyle as du, resolveStoryListItems as dv, resolveStoryRefFields as dw, resolveTableCellBorderGrid as dx, revisionAuthorFilter as dy, revisionsAreDeletion as dz, REVISION_MARKUP_COLORS as w };
4051
+ export type { TableBorderSide as $, AnchoredDrawingRecord as A, BlockFragmentRecord as B, ContentControlBoundaryRecord as C, RevisionMarkupColor as E, FontResourceSnapshot as F, RevisionMarkupMark as G, HeaderFooterStoryRecord as H, InlineDrawingRecord as I, RevisionMarkupNamedColor as J, RevisionMarkupStyle as K, LineRecord as L, RevisionMarkupTextStyle as M, NoteAreaRecord as N, SectionProperties as O, ParagraphFragmentRecord as P, RevisionMarkupDialogSession as R, SemanticLayout as S, TextMeasurer as T, NumberingLevel as U, VersionedShapingLibrary as V, NumberingIndex as W, DrawingPoint as X, DrawingInsets as Y, ModelRange as Z, RevisionAttribution as _, ReviewDisplayMode as a, TableFloatXSpec as a0, TableFloatYSpec as a1, NumberingLevelIndent as a2, ResolvedListItem as a3, RefFieldContext as a4, InlineDrawingLayoutContext as a5, CellBorderBox as a6, TableBorderBox as a7, TableCellStyleFormatting as a8, TableFloatPosition as a9, ContentControlModelRange as aA, DeclaredFontSubstitution as aH, DocumentSection as aI, DocumentSectionsEnumeration as aJ, DrawingClipFallback as aK, DrawingGeometry as aL, DrawingGroupPictureRecord as aM, DrawingTextArtRecord as aN, EquationBarGeometry as aQ, EquationFractionGeometry as aR, EquationGeometry as aS, EquationNaryGeometry as aT, EquationRadicalGeometry as aU, EquationRowGeometry as aV, EquationScriptGeometry as aW, EquationSpanRecord as aX, EquationTextGeometry as aY, FieldAtomMarker as aZ, FontFingerprintInputs as a_, StyleCascadeTable as aa, RevisionAuthorFilter as ab, FixedPoint as ac, FontByteValidator as ad, SourceRange as ae, HyperlinkProjector as af, FieldLinkProjector as ag, StoryPageFieldNeeds as ah, HyperlinkFieldSpec as ai, SpanLinkRecord as aj, PageGeometry as ak, SectionColumns as al, SectionPageBorders as am, PageBorderFrameRecord as an, ParagraphBorderStrokeRecord as ao, StrikeoutStrokePt as ap, AbstractNumDefinition as ar, AnchoredDrawingLayoutFallback as as, BidiEmbeddingLevels as at, BorderGridGeometry as au, CascadedParagraphFormatting as av, CjkTypographySettings as aw, ContentControlGeometryFragment as ax, ContentControlLevel as ay, ContentControlMappedType as az, RevisionDisplayMode as b, SectionPageNumbering as b$, FontResolutionErrorCode as b0, FontResourceDefinition as b1, FontResourceInstrumentation as b2, FontResourceSnapshotOptions as b3, FontSlot as b4, FontValidationResult as b5, GlyphOutline as b6, GroupTextboxStoryRecord as b7, PageRefCalibrationCell as bA, PageRefFieldProjection as bB, ParagraphAutoSpacingContext as bC, ParagraphBorderEdge as bD, ParagraphBorderSide as bE, ParagraphBorders as bF, ParagraphBottomBorderRecord as bG, ParagraphIndent as bH, ParagraphLayoutInputs as bI, ParagraphLineSpacing as bJ, ParagraphSpacing as bK, RefFieldSpec as bL, RefNoteParts as bM, ResolvedCellBorders as bN, ResolvedPictureBullet as bO, ResolvedTabStops as bP, ResolvedTableBorderEdge as bQ, ResolvedTableBorderEdgeSegment as bR, ResolvedUnderline as bS, RevisionFilter as bT, RevisionKind as bU, ScriptItem as bW, SectionBreakMarkRecord as bX, SectionBreakType as bY, SectionColumnDefinition as bZ, SectionMargins as b_, LevelOverride as bb, LineSpacingRule as bc, ListMarkerAlign as bd, ListMarkerRecord as be, ListSuffix as bf, NumDefinition as br, NumberingPictureBullet as bs, PageBorderDisplay as bv, PageBorderOffsetFrom as bw, PageBorderSide as bx, PageBorderStrokeRecord as by, PageBorderZOrder as bz, PageRecord as c, SemanticArtifactRootStoryKind as c0, SemanticArtifactStoryKind as c1, SemanticCommentArtifactRecord as c2, SemanticReviewArtifactOccurrence as c3, SemanticReviewArtifactOccurrenceGeometry as c4, SemanticReviewArtifactPosition as c5, SemanticReviewArtifactSource as c6, SemanticTrackedChangeArtifactRecord as c7, ShapeInput as c8, ShapedCluster as c9, ShapedFontSpan as ca, ShapedGlyph as cb, ShapedRunComparatorInputs as cc, ShapedVerticalMetrics as cd, ShapingContext as ce, ShapingEnvironment as cf, ShapingEnvironmentFingerprintInputs as cg, StyleDefinition as ch, TabAlignment as cj, TabDestination as ck, TabLeader as cl, TabStop as cm, TableBorderSideName as cn, TableBorderStrokeRecord as co, TableFragmentRecord as cp, TextArtFit as cq, TextDirection as cr, TextOutline as cs, TextboxStoryFallbackReason as ct, TextboxStoryLayout as cu, VerticalAlign as cw, LayoutBox as d, NoteStoryRecord as e, ContentControlLock as f, StyleSpanRecord as g, TableRowFragmentRecord as h, TableCellFragmentRecord as i, ShapingEnvironmentInput as j, TextShaper as k, ResolvedRunStyle as l, ResolvedFont as m, NormalizationPolicy as n, FixedPointRoundingMode as o, FontRequest as p, ResolvedRevisionMarkup as q, SemanticReviewArtifactRecord as r, ListMarkerPictureRecord as s, RevisionMarkupOptions as t, FontSubstitution as u, ShapedRun as v, RevisionChangedLinesMark as x, RevisionDeletionMark as y, RevisionMarkupChromeHandlers as z };