@betteroffice/docx 0.4.3 → 0.5.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 (124) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +108 -598
  3. package/dist/chunk-25WGDXBF.mjs +1 -0
  4. package/dist/chunk-2CCPNW44.mjs +1 -0
  5. package/dist/chunk-32A4I3T4.mjs +1 -0
  6. package/dist/chunk-4LO3PSLZ.mjs +2 -0
  7. package/dist/chunk-67MGRMP3.mjs +1 -0
  8. package/dist/chunk-6AUR4AA2.mjs +1 -0
  9. package/dist/chunk-6WT6HKAY.mjs +1 -0
  10. package/dist/chunk-77ZWGQZN.mjs +1 -0
  11. package/dist/chunk-7C3Y7LIH.mjs +1 -0
  12. package/dist/chunk-7WIUNGQW.mjs +1 -0
  13. package/dist/chunk-7WWFGMMF.mjs +1 -0
  14. package/dist/chunk-AK2NG7PT.mjs +1 -0
  15. package/dist/chunk-BR5BFOHF.mjs +1 -0
  16. package/dist/chunk-CDNWHQH2.mjs +1 -0
  17. package/dist/chunk-CRTTEHZN.mjs +1 -0
  18. package/dist/chunk-ETDMQ5GE.mjs +1 -0
  19. package/dist/{wasm-KSZTTO3B.mjs → chunk-GBOHQ3CJ.mjs} +1 -1
  20. package/dist/chunk-H7K4SJKK.mjs +1 -0
  21. package/dist/chunk-ICJH7QUY.mjs +1 -0
  22. package/dist/chunk-IHETKRDA.mjs +1 -0
  23. package/dist/chunk-ISBZLVIF.mjs +1 -0
  24. package/dist/chunk-JSYH6HNV.mjs +2 -0
  25. package/dist/chunk-KICHSQFN.mjs +1 -0
  26. package/dist/chunk-KXIGXLFA.mjs +5 -0
  27. package/dist/chunk-KXLTK7AT.mjs +57 -0
  28. package/dist/chunk-L3JRNJ34.mjs +1 -0
  29. package/dist/chunk-LKDHP22R.mjs +1 -0
  30. package/dist/chunk-LPOEM5WH.mjs +1 -0
  31. package/dist/chunk-M44BABH2.mjs +1 -0
  32. package/dist/chunk-MAYPJU23.mjs +1 -0
  33. package/dist/chunk-N5RE2S3U.mjs +2 -0
  34. package/dist/chunk-NLYHFVF5.mjs +1 -0
  35. package/dist/chunk-ONYCW7VV.mjs +4 -0
  36. package/dist/chunk-QGZ2AB3M.mjs +1 -0
  37. package/dist/chunk-QWHU7YIW.mjs +2 -0
  38. package/dist/{chunk-VH7P4734.mjs → chunk-QX2CDKPG.mjs} +1 -1
  39. package/dist/chunk-RGDE6YQB.mjs +1 -0
  40. package/dist/chunk-TE3AU2JK.mjs +1 -0
  41. package/dist/chunk-UDVEZ722.mjs +1 -0
  42. package/dist/chunk-UQSVFDRV.mjs +2 -0
  43. package/dist/chunk-VHOOSS4D.mjs +1 -0
  44. package/dist/chunk-WIDM4EMT.mjs +1 -0
  45. package/dist/chunk-YITJ4QAO.mjs +1 -0
  46. package/dist/collaboration/index.d.mts +111 -11
  47. package/dist/collaboration/index.mjs +1 -1
  48. package/dist/{content-DSb-6a9T.d.mts → content-DVT06V_6.d.mts} +24 -3
  49. package/dist/core.d.mts +9 -9
  50. package/dist/core.mjs +1 -1
  51. package/dist/displayListQueries-6XjS7B5e.d.mts +1473 -0
  52. package/dist/docx/index.d.mts +8 -7
  53. package/dist/docx/index.mjs +1 -2
  54. package/dist/docxWorker.mjs +1 -0
  55. package/dist/editor/index.d.mts +14 -12
  56. package/dist/editor/index.mjs +1 -1
  57. package/dist/{fontLoader-BNSs0E8K.d.mts → fontLoader-CBkmh4ps.d.mts} +1 -1
  58. package/dist/{formatting-gqLFeJ9X.d.mts → formatting-p5MneNuy.d.mts} +32 -1
  59. package/dist/generated/edit/docx_edit_bg.wasm +0 -0
  60. package/dist/generated/layout/docx_layout_bg.wasm +0 -0
  61. package/dist/generated/opc/ooxml_opc_bg.wasm +0 -0
  62. package/dist/generated/parse/docx_parse_bg.wasm +0 -0
  63. package/dist/index-C-KKULi5.d.mts +5596 -0
  64. package/dist/layout/index.d.mts +4 -4
  65. package/dist/layout/index.mjs +1 -1
  66. package/dist/layout/pagination/index.d.mts +4 -4
  67. package/dist/layout/render/index.d.mts +37 -53
  68. package/dist/layout/render/index.mjs +3 -1
  69. package/dist/{pagedExport-BmSlEhoP.d.mts → pagedExport-DDgA5O7E.d.mts} +92 -9
  70. package/dist/plugin-api/RenderedDomContext.d.mts +5 -7
  71. package/dist/plugin-api/index.d.mts +3 -3
  72. package/dist/plugin-api/resolveItemPositions.d.mts +3 -3
  73. package/dist/{rezip-Bxiq4Z_R.d.mts → rezip-CfwAYdV4.d.mts} +7 -1
  74. package/dist/styles/index.d.mts +3 -3
  75. package/dist/styles/index.mjs +1 -1
  76. package/dist/{styles-AryxLAhx.d.mts → styles-DZZz2oRy.d.mts} +2 -2
  77. package/dist/types/content.d.mts +2 -2
  78. package/dist/types/document.d.mts +6 -6
  79. package/dist/{types-Cz7S77Ut.d.mts → types-bvPg3KsF.d.mts} +16 -3
  80. package/dist/utils/comments.d.mts +2 -2
  81. package/dist/utils/findReplace.mjs +1 -2
  82. package/dist/utils/index.d.mts +5 -5
  83. package/dist/utils/index.mjs +1 -1
  84. package/dist/utils/listState.d.mts +2 -5
  85. package/dist/utils/stylePreview.d.mts +2 -2
  86. package/dist/utils/stylePreview.mjs +1 -1
  87. package/dist/wasm-edit.d.mts +233 -48
  88. package/dist/wasm-edit.mjs +1 -1
  89. package/dist/wasm-layout.d.mts +7 -1
  90. package/dist/wasm-layout.mjs +1 -1
  91. package/dist/wasm-opc.mjs +1 -1
  92. package/dist/wasm-parse.d.mts +7 -1
  93. package/dist/wasm-parse.mjs +1 -1
  94. package/dist/worker.d.mts +60 -0
  95. package/dist/worker.mjs +1 -0
  96. package/dist/yrs/docxWorker.d.mts +20 -0
  97. package/dist/yrs/docxWorker.mjs +3 -0
  98. package/dist/yrs/index.d.mts +12 -7
  99. package/dist/yrs/index.mjs +1 -1
  100. package/package.json +14 -4
  101. package/dist/chunk-3RPZ44TT.mjs +0 -1
  102. package/dist/chunk-47Q2FMFF.mjs +0 -1
  103. package/dist/chunk-5Z22FORG.mjs +0 -1
  104. package/dist/chunk-7ZV6P6NZ.mjs +0 -57
  105. package/dist/chunk-AXFMDV66.mjs +0 -1
  106. package/dist/chunk-EBYC3CX7.mjs +0 -1
  107. package/dist/chunk-FK7X7557.mjs +0 -1
  108. package/dist/chunk-GKWXOZZH.mjs +0 -1
  109. package/dist/chunk-LIOWZSE7.mjs +0 -1
  110. package/dist/chunk-ML6E23W2.mjs +0 -1
  111. package/dist/chunk-MLEMGJP7.mjs +0 -1
  112. package/dist/chunk-QBMNRD5V.mjs +0 -2
  113. package/dist/chunk-SHVHVJUB.mjs +0 -1
  114. package/dist/compareDocx-URPCPAQT.mjs +0 -1
  115. package/dist/computeLayout-ZTO6TBWX.mjs +0 -1
  116. package/dist/displayListQueries-BVBDVXoP.d.mts +0 -306
  117. package/dist/frameDelta-CLeO7K5z.d.mts +0 -807
  118. package/dist/index-DzZVJC8-.d.mts +0 -2467
  119. package/dist/parseWasm-BESKFFA3.mjs +0 -1
  120. package/dist/rustDisplayList-B7uPoItK.d.mts +0 -315
  121. package/dist/wasm-JPDPN2B2.mjs +0 -1
  122. package/dist/wasm-QI7MWC5D.mjs +0 -1
  123. package/dist/yrs/residentEngineWorker.d.mts +0 -2
  124. package/dist/yrs/residentEngineWorker.mjs +0 -1
@@ -1,306 +0,0 @@
1
- import { I as ImagePrimitive, D as DisplayList } from './frameDelta-CLeO7K5z.mjs';
2
- import { R as RustDisplayListQueryEngine } from './rustDisplayList-B7uPoItK.mjs';
3
-
4
- /**
5
- * Locate an image primitive in a built DisplayList by its document position.
6
- *
7
- * The canvas image-selection overlay needs the selected image's page-local
8
- * rect to place its resize handles, and on the canvas path the painted DOM
9
- * image (`.layout-run-image`) is parked/hidden — its rect is unusable. The
10
- * display list carries every inline image as an `ImagePrimitive` stamped with
11
- * `docStart` (= the image atom's document position, the same value the DOM path reads
12
- * from `data-doc-start`), so the primitive found here is the geometry source
13
- * that replaces `imageInfo.element.getBoundingClientRect()`.
14
- *
15
- * Body primitives only: header/footer image primitives carry doc positions in a
16
- * different doc (the HF editor), so a body image pmPos must never match one.
17
- *
18
- */
19
-
20
- type DisplayListImageRegion = 'body' | 'header' | 'footer';
21
- interface LocatedImagePrimitive {
22
- primitive: ImagePrimitive;
23
- /** page the primitive paints on (page-local px are relative to this page) */
24
- pageIndex: number;
25
- /** Document region containing the image. Undefined reads as body. */
26
- region?: DisplayListImageRegion;
27
- /** Header/footer relationship id when `region` is not body. */
28
- rId?: string;
29
- }
30
- /**
31
- * First body image primitive whose `docStart` equals `pos`, or null. `pos` is
32
- * the image node's document position (a node selection's `from`, or the left
33
- * edge of a one-atom text selection).
34
- */
35
- declare function findImagePrimitiveByDocPos(list: DisplayList, pos: number, region?: DisplayListImageRegion, rId?: string): LocatedImagePrimitive | null;
36
- /** Topmost positioned image painted under a page-local point, or null. */
37
- declare function findImagePrimitiveAtPoint(list: DisplayList, pageIndex: number, x: number, y: number, region?: DisplayListImageRegion, rId?: string): LocatedImagePrimitive | null;
38
- /**
39
- * Capture an inline body's authored anchor offsets from display-list geometry.
40
- * Horizontal position is relative to the page content/column box; vertical
41
- * position is relative to the containing paragraph fragment. Header/footer
42
- * images deliberately return undefined until their paragraph/content-origin
43
- * metadata is part of the display-list contract.
44
- */
45
- declare function captureInlinePositionEmuFromDisplayList(queries: DisplayListQueries, pos: number): {
46
- horizontalEmu: number;
47
- verticalEmu: number;
48
- } | undefined;
49
-
50
- /**
51
- * Synchronous query facade over one built DisplayList, backed by the Rust
52
- * hit-testing module (`crates/docx-layout/src/hit.rs`).
53
- *
54
- * This is the canvas renderer's only source of pointer and selection geometry:
55
- * every rect comes from the immutable display list, never from DOM rects. A
56
- * facade is created per display-list build, since the list never mutates in
57
- * place, and it holds no state a caller has to keep in sync.
58
- *
59
- * **Two sources.** A resident editing engine queries its own display list
60
- * directly and takes no display-list JSON at all. Otherwise the shared layout
61
- * wasm answers, and the facade prefers a SESSION HANDLE: the list is parsed
62
- * into the Rust store once (`openDisplayList`) and every later query goes by
63
- * handle, with no per-query re-serialization. When the session exports are
64
- * absent it stringifies the list once and reuses that string for the JSON-arg
65
- * exports. The two paths run the same hit and range logic, so results are
66
- * byte-identical and only the cost differs.
67
- *
68
- * **Handle acquisition is lazy** — on the first query that needs one, or when
69
- * a host calls `prime()` from idle time — so replacing the facade on every
70
- * keystroke costs no serialization on the input path. A new facade also tries
71
- * to ADOPT its predecessor's parsed list, shipping a page delta for the pages
72
- * that changed instead of reopening the whole list; superseded generations
73
- * chain their donor, so a deferred pickup still costs one delta. The donor's
74
- * own later queries degrade to its JSON-arg path.
75
- *
76
- * **Handle release.** `dispose()` frees the handle immediately. A facade
77
- * dropped without it — a `useMemo` replacement, say — is covered by a
78
- * `FinalizationRegistry`, and the Rust store additionally caps live handles
79
- * and evicts the oldest, so a missed finalize cannot grow memory without
80
- * bound.
81
- *
82
- * **Failure.** A wasm TRAP poisons the whole instance: a guard held across the
83
- * query leaks and every later call into it fails, so the engine is marked dead,
84
- * all queries stop, and `onDisplayListQuerySourceFailure` subscribers are told
85
- * to rebuild the session. An ordinary error just falls back — a bad handle is
86
- * dropped and the query retried over JSON.
87
- *
88
- * Queries are synchronous and return `null`/`[]` until the lazily imported
89
- * wasm module resolves. In practice it is already loaded by the time a facade
90
- * exists, because building the display list went through the same module.
91
- */
92
-
93
- /**
94
- * Query surface of an editing engine that already holds the display list.
95
- * None of these take display-list JSON, so this source never opens a handle
96
- * and never serializes anything.
97
- */
98
- interface ResidentDisplayListQueryEngine {
99
- displayHitTestRegionsJson(pageIndex: number, x: number, y: number): string;
100
- displayVerticalMoveJson(position: number, direction: 'up' | 'down', goalX: number): string;
101
- displayRangeRectsJson(from: number, to: number): string;
102
- displayRangeRectsRegionJson(region: DisplayListHitRegion, partId: string, from: number, to: number): string;
103
- }
104
- /** which part of a page owns a hit — mirrors `HitRegion` in hit.rs */
105
- type DisplayListHitRegion = 'body' | 'header' | 'footer' | 'footnote' | 'endnote';
106
- /**
107
- * What a click at a hit point would act on — mirrors `HoverTarget` in hit.rs.
108
- * `'text'` is the typeable area (a run's box, or the content box around it),
109
- * which is what a pointer cursor keys off; `pos` cannot say, since it resolves
110
- * everywhere on a page that carries text.
111
- */
112
- type DisplayListHoverTarget = 'text' | 'image' | 'none';
113
- /**
114
- * Region-aware hit result. For `header`/`footer` the position refers to the
115
- * header/footer document identified by `rId`, and for `footnote`/`endnote` to
116
- * the note story named by `noteId` — NOT the body document, so the caller must
117
- * route the selection to that editor. `pos` is null when the point is inside
118
- * the region but resolves to no position.
119
- */
120
- interface DisplayListRegionHit {
121
- region: DisplayListHitRegion;
122
- rId?: string;
123
- /** note whose story a `footnote`/`endnote` position addresses */
124
- noteId?: number;
125
- pos: number | null;
126
- /** Absent from a wasm build predating it; read that as "not text". */
127
- target?: DisplayListHoverTarget;
128
- }
129
- /**
130
- * Result of an up/down caret move. `goalX` is the page-local x to feed back
131
- * into the next move so a run of them holds one column.
132
- */
133
- interface DisplayListVerticalMove {
134
- position: number;
135
- goalX: number;
136
- }
137
- /** one highlight rectangle of a document range, page-local px */
138
- interface DisplayListRect {
139
- pageIndex: number;
140
- x: number;
141
- y: number;
142
- width: number;
143
- height: number;
144
- }
145
- /** Explicit lifecycle of the mandatory Rust query source. */
146
- type DisplayListQuerySourceState = {
147
- status: 'loading';
148
- } | {
149
- status: 'ready';
150
- } | {
151
- status: 'error';
152
- error: Error;
153
- };
154
- /** One paragraph fragment box on one page, in page-local px. */
155
- interface DisplayListParagraphGeometry extends DisplayListRect {
156
- from: number;
157
- to: number;
158
- blockId?: number | string;
159
- paraId?: string;
160
- }
161
- /** One ordered visual line reconstructed from authoritative primitives. */
162
- interface VisualLineExtent {
163
- top: number;
164
- bottom: number;
165
- }
166
- interface DisplayListVisualLine extends DisplayListRect {
167
- baseline: number;
168
- from: number;
169
- to: number;
170
- blockId?: number | string;
171
- paraId?: string;
172
- }
173
- /** Image primitive plus its explicit page/region geometry. */
174
- interface DisplayListImageGeometry extends LocatedImagePrimitive {
175
- rect: DisplayListRect;
176
- pos: number;
177
- }
178
- /**
179
- * Sync query surface over one immutable DisplayList. A new instance is
180
- * created per display-list build (the list never mutates in place).
181
- */
182
- interface DisplayListQueries {
183
- /** the list this instance queries (page sizes, region bands, …) */
184
- readonly displayList: DisplayList;
185
- /** false until the wasm module is loaded — queries return null/[] before */
186
- isReady(): boolean;
187
- /** Loading/ready/error state for hosts that must not silently fall back. */
188
- sourceState(): DisplayListQuerySourceState;
189
- /** Resolves when the Rust query engine is ready; rejects on load failure. */
190
- whenReady(): Promise<void>;
191
- pageCount(): number;
192
- pageSize(pageIndex: number): {
193
- width: number;
194
- height: number;
195
- } | null;
196
- pageBounds(pageIndex: number): DisplayListRect | null;
197
- contentBounds(pageIndex: number): DisplayListRect | null;
198
- columnBounds(pageIndex: number): DisplayListRect[];
199
- /** Body paragraph fragment boxes containing `pos`, including page splits. */
200
- paragraphRects(pos: number): DisplayListParagraphGeometry[];
201
- /** Ordered body visual lines across all pages. */
202
- visualLines(): readonly DisplayListVisualLine[];
203
- /** The part of {@link visualLines} on one page, computed for that page alone. */
204
- visualLinesOnPage(pageIndex: number): readonly DisplayListVisualLine[];
205
- /** Vertical span of the page's visual lines in page coordinates, or null when it has none. */
206
- visualLineExtent(pageIndex: number): VisualLineExtent | null;
207
- /** Visual line containing `pos`, or null. */
208
- visualLineAtPosition(pos: number): DisplayListVisualLine | null;
209
- /** Topmost image under a page-local point. Body by default. */
210
- imageAtPoint(pageIndex: number, x: number, y: number, region?: DisplayListImageRegion, rId?: string): DisplayListImageGeometry | null;
211
- /** Image whose atom starts at `pos`. Body by default. */
212
- imageByPos(pos: number, region?: DisplayListImageRegion, rId?: string): DisplayListImageGeometry | null;
213
- /** region-aware point → doc position (page-local coordinates) */
214
- hitTestRegions(pageIndex: number, x: number, y: number): DisplayListRegionHit | null;
215
- verticalMove(position: number, direction: 'up' | 'down', goalX?: number): DisplayListVerticalMove | null;
216
- /** body document range → highlight rects */
217
- rangeRects(from: number, to: number): DisplayListRect[];
218
- /**
219
- * Header/footer document range → highlight rects for the region's band. `region` is
220
- * `'header' | 'footer'`; `rId` identifies the HF doc, and
221
- * `from`/`to` are positions in THAT doc. The same HF doc paints on every page
222
- * carrying the part, so this returns one rect-set per such page (each tagged
223
- * with its `pageIndex`) — the caller picks the page it is editing. Returns
224
- * `[]` when the region-aware exports are absent, which is feature-detected.
225
- */
226
- hfRangeRects(region: 'header' | 'footer', rId: string, from: number, to: number): DisplayListRect[];
227
- /**
228
- * Note document range → highlight rects for that note's story. `from`/`to`
229
- * are positions in the `fn:{noteId}` / `en:{noteId}` document, never the
230
- * body's. A note paints on one page only, so every rect shares its
231
- * `pageIndex`.
232
- */
233
- noteRangeRects(region: 'footnote' | 'endnote', noteId: number, from: number, to: number): DisplayListRect[];
234
- /**
235
- * Caret geometry for a collapsed HF selection — the HF twin of `caretRect`.
236
- * Resolves `[pos, pos+1)` in the HF doc (left edge is the caret), falling back
237
- * to `[pos-1, pos)` (right edge) at end-of-line / end-of-doc. Returns one
238
- * caret rect per page carrying the part; the caller picks the edited page.
239
- */
240
- hfCaretRects(region: 'header' | 'footer', rId: string, pos: number): DisplayListRect[];
241
- /**
242
- * Caret geometry for a collapsed selection in a note story — the note twin of
243
- * `hfCaretRects`. A note paints on one page, so this returns at most one rect.
244
- */
245
- noteCaretRects(region: 'footnote' | 'endnote', noteId: number, pos: number): DisplayListRect[];
246
- /** Header/footer sidebar anchors, one per page carrying the part. */
247
- hfAnchorRects(region: 'header' | 'footer', rId: string, pos: number): DisplayListRect[];
248
- /**
249
- * Caret geometry for a collapsed body selection: the collapsed-range rect.
250
- * Resolves `[pos, pos+1)` first (rect's left edge is the caret), then falls
251
- * back to `[pos-1, pos)` using the right edge (end-of-doc / end-of-line).
252
- */
253
- caretRect(pos: number): DisplayListRect | null;
254
- /**
255
- * Anchor geometry for sidebar markers: like `caretRect` but scans
256
- * `[pos, pos+2)` forward first so *node* positions (paragraph/table
257
- * markers carrying structural tracked-change attrs) resolve to their first
258
- * content line instead of the previous block's tail.
259
- */
260
- anchorRect(pos: number): DisplayListRect | null;
261
- /** Explicit body-sidebar alias retained alongside `anchorRect`. */
262
- sidebarAnchorRect(pos: number): DisplayListRect | null;
263
- /**
264
- * Acquire the Rust session handle now (adopting the donor facade's parsed
265
- * list when possible). Optional: the first query acquires it on demand;
266
- * hosts call this from idle time to keep serialization off interaction
267
- * paths. No-op once attempted, superseded, or disposed.
268
- */
269
- prime(): void;
270
- /**
271
- * Release the wasm session handle backing this facade. Idempotent; safe to
272
- * call even when no handle was opened (JSON-arg fallback path). Callers that
273
- * forget are covered by a `FinalizationRegistry`, but disposing eagerly frees
274
- * the parsed display list in the Rust store immediately.
275
- */
276
- dispose(): void;
277
- }
278
- /**
279
- * Ends `line`: its superseded facades answer nothing until a facade of the same
280
- * line is built. Call it when the session behind the line goes away.
281
- */
282
- declare function endDisplayListQueriesLine(line: object): void;
283
- type DisplayListQuerySource = RustDisplayListQueryEngine | ResidentDisplayListQueryEngine;
284
- /** True once a query trapped in this engine's wasm instance. */
285
- declare function isDisplayListQuerySourceDead(engine: DisplayListQuerySource | null | undefined): boolean;
286
- /** Subscribe to wasm traps so the host can rebuild the dead session. */
287
- declare function onDisplayListQuerySourceFailure(listener: (error: Error) => void): () => void;
288
- /**
289
- * Build a query facade for one display list. The optional `engine` makes the
290
- * facade synchronous and deterministic in tests; without it the shared wasm
291
- * module is loaded lazily and queries no-op (`null`/`[]`) until it resolves.
292
- *
293
- * `previous` (the facade this build replaces) enables handle adoption: instead
294
- * of re-serializing and re-parsing the WHOLE list into the Rust store, the new
295
- * facade takes over the previous parsed list and patches only the pages that
296
- * changed. The donor facade's remaining queries degrade to its own JSON-arg
297
- * path (same stale-list semantics it always had after replacement).
298
- *
299
- * `line` names the document the list lays out, such as its load. A facade of another
300
- * document starts a new line and ends the previous one, so a facade of the
301
- * replaced document never answers from the new one. Without `line` a superseded
302
- * facade answers from its own list.
303
- */
304
- declare function createDisplayListQueries(list: DisplayList, engine?: RustDisplayListQueryEngine | ResidentDisplayListQueryEngine, previous?: DisplayListQueries | null, line?: object | null): DisplayListQueries;
305
-
306
- export { type DisplayListRect as D, type LocatedImagePrimitive as L, type ResidentDisplayListQueryEngine as R, type VisualLineExtent as V, type DisplayListQueries as a, type DisplayListRegionHit as b, type DisplayListHitRegion as c, type DisplayListHoverTarget as d, type DisplayListImageGeometry as e, type DisplayListImageRegion as f, type DisplayListParagraphGeometry as g, type DisplayListQuerySourceState as h, type DisplayListVerticalMove as i, type DisplayListVisualLine as j, captureInlinePositionEmuFromDisplayList as k, createDisplayListQueries as l, endDisplayListQueriesLine as m, findImagePrimitiveAtPoint as n, findImagePrimitiveByDocPos as o, isDisplayListQuerySourceDead as p, onDisplayListQuerySourceFailure as q };