@asciidoctor/core 3.0.3 → 4.0.0-alpha.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.
Files changed (91) hide show
  1. package/README.md +42 -10
  2. package/build/browser/index.js +24154 -0
  3. package/build/node/index.cjs +24735 -0
  4. package/{dist/css/asciidoctor.css → data/asciidoctor-default.css} +54 -53
  5. package/package.json +53 -100
  6. package/src/abstract_block.js +849 -0
  7. package/src/abstract_node.js +954 -0
  8. package/src/attribute_entry.js +12 -0
  9. package/src/attribute_list.js +380 -0
  10. package/src/block.js +168 -0
  11. package/src/browser/asset.js +22 -0
  12. package/src/browser/reader.js +138 -0
  13. package/src/browser.js +121 -0
  14. package/src/callouts.js +85 -0
  15. package/src/compliance.js +54 -0
  16. package/src/constants.js +665 -0
  17. package/src/convert.js +370 -0
  18. package/src/converter/composite.js +83 -0
  19. package/src/converter/docbook5.js +1031 -0
  20. package/src/converter/html5.js +1899 -0
  21. package/src/converter/manpage.js +935 -0
  22. package/src/converter/template.js +459 -0
  23. package/src/converter.js +478 -0
  24. package/src/data/stylesheet-data.js +2 -0
  25. package/src/document.js +2134 -0
  26. package/src/extensions.js +1952 -0
  27. package/src/footnote.js +28 -0
  28. package/src/helpers.js +355 -0
  29. package/src/index.js +138 -0
  30. package/src/inline.js +158 -0
  31. package/src/list.js +240 -0
  32. package/src/load.js +276 -0
  33. package/src/logging.js +526 -0
  34. package/src/parser.js +3661 -0
  35. package/src/path_resolver.js +472 -0
  36. package/src/reader.js +1755 -0
  37. package/src/rx.js +829 -0
  38. package/src/section.js +354 -0
  39. package/src/stylesheets.js +30 -0
  40. package/src/substitutors.js +2241 -0
  41. package/src/syntaxHighlighter/highlightjs.js +90 -0
  42. package/src/syntaxHighlighter/html_pipeline.js +33 -0
  43. package/src/syntax_highlighter.js +304 -0
  44. package/src/table.js +952 -0
  45. package/src/timings.js +78 -0
  46. package/types/abstract_block.d.ts +343 -0
  47. package/types/abstract_node.d.ts +471 -0
  48. package/types/attribute_entry.d.ts +7 -0
  49. package/types/attribute_list.d.ts +52 -0
  50. package/types/block.d.ts +55 -0
  51. package/types/browser/asset.d.ts +7 -0
  52. package/types/browser/reader.d.ts +29 -0
  53. package/types/callouts.d.ts +36 -0
  54. package/types/compliance.d.ts +23 -0
  55. package/types/constants.d.ts +268 -0
  56. package/types/convert.d.ts +34 -0
  57. package/types/converter/composite.d.ts +20 -0
  58. package/types/converter/docbook5.d.ts +41 -0
  59. package/types/converter/html5.d.ts +51 -0
  60. package/types/converter/manpage.d.ts +59 -0
  61. package/types/converter/template.d.ts +83 -0
  62. package/types/converter.d.ts +150 -0
  63. package/types/data/stylesheet-data.d.ts +2 -0
  64. package/types/document.d.ts +495 -0
  65. package/types/extensions.d.ts +876 -0
  66. package/types/footnote.d.ts +18 -0
  67. package/types/helpers.d.ts +146 -0
  68. package/types/index.d.ts +73 -3731
  69. package/types/inline.d.ts +69 -0
  70. package/types/list.d.ts +114 -0
  71. package/types/load.d.ts +39 -0
  72. package/types/logging.d.ts +187 -0
  73. package/types/parser.d.ts +114 -0
  74. package/types/path_resolver.d.ts +103 -0
  75. package/types/reader.d.ts +184 -0
  76. package/types/rx.d.ts +513 -0
  77. package/types/section.d.ts +122 -0
  78. package/types/stylesheets.d.ts +10 -0
  79. package/types/substitutors.d.ts +208 -0
  80. package/types/syntaxHighlighter/highlightjs.d.ts +33 -0
  81. package/types/syntaxHighlighter/html_pipeline.d.ts +16 -0
  82. package/types/syntax_highlighter.d.ts +167 -0
  83. package/types/table.d.ts +231 -0
  84. package/types/timings.d.ts +25 -0
  85. package/types/tsconfig.json +9 -0
  86. package/LICENSE +0 -21
  87. package/dist/browser/asciidoctor.js +0 -47654
  88. package/dist/browser/asciidoctor.min.js +0 -1452
  89. package/dist/graalvm/asciidoctor.js +0 -47402
  90. package/dist/node/asciidoctor.cjs +0 -21567
  91. package/dist/node/asciidoctor.js +0 -23037
@@ -0,0 +1,495 @@
1
+ export class ImageReference {
2
+ constructor(target: any, imagesdir: any);
3
+ target: any;
4
+ imagesdir: any;
5
+ /**
6
+ * @returns {string} the target image path or URI.
7
+ */
8
+ getTarget(): string;
9
+ /**
10
+ * @returns {string} the images directory.
11
+ */
12
+ getImagesDirectory(): string;
13
+ toString(): any;
14
+ }
15
+ /**
16
+ * Parsed and stores a partitioned title (title & subtitle).
17
+ */
18
+ export class DocumentTitle {
19
+ constructor(val: any, opts?: {});
20
+ _sanitized: boolean;
21
+ main: any;
22
+ subtitle: any;
23
+ combined: any;
24
+ get title(): any;
25
+ isSanitized(): boolean;
26
+ hasSubtitle(): boolean;
27
+ getMain(): any;
28
+ getCombined(): any;
29
+ getSubtitle(): any;
30
+ toString(): any;
31
+ }
32
+ /**
33
+ * Represents an Author parsed from document attributes.
34
+ */
35
+ export class Author {
36
+ constructor(name: any, firstname: any, middlename: any, lastname: any, initials: any, email: any);
37
+ name: any;
38
+ firstname: any;
39
+ middlename: any;
40
+ lastname: any;
41
+ initials: any;
42
+ email: any;
43
+ getName(): any;
44
+ getFirstName(): any;
45
+ getMiddleName(): any;
46
+ getLastName(): any;
47
+ getInitials(): any;
48
+ getEmail(): any;
49
+ }
50
+ export class RevisionInfo {
51
+ constructor(number: any, date: any, remark: any);
52
+ _number: any;
53
+ _date: any;
54
+ _remark: any;
55
+ isEmpty(): boolean;
56
+ getNumber(): any;
57
+ getDate(): any;
58
+ getRemark(): any;
59
+ }
60
+ export class Document extends AbstractBlock<string> {
61
+ /**
62
+ * Factory — create and fully parse a Document asynchronously.
63
+ * @param {string|string[]|null} data - The AsciiDoc source.
64
+ * @param {Object} [options={}] - Processing options.
65
+ * @returns {Promise<Document>} The parsed Document.
66
+ */
67
+ static create(data: string | string[] | null, options?: any): Promise<Document>;
68
+ constructor(data?: any, options?: {});
69
+ /** @type {Reader} */
70
+ reader: Reader;
71
+ /** @type {string} */
72
+ doctype: string;
73
+ /** @type {string} */
74
+ baseDir: string;
75
+ /** @type {string} */
76
+ backend: string;
77
+ /** @type {number} */
78
+ safe: number;
79
+ /** @type {boolean} */
80
+ compatMode: boolean;
81
+ set converter(v: any);
82
+ /** Override AbstractNode's getter so Document can own its converter directly. */
83
+ get converter(): any;
84
+ parentDocument: any;
85
+ catalog: any;
86
+ outfilesuffix: any;
87
+ sourcemap: any;
88
+ pathResolver: any;
89
+ extensions: any;
90
+ syntaxHighlighter: any;
91
+ header: Section;
92
+ options: Readonly<{}>;
93
+ /** Alias catalog as references (backwards compat). */
94
+ get references(): any;
95
+ /** @returns {boolean} True if this is a nested (child) document. */
96
+ nested(): boolean;
97
+ /**
98
+ * Parse the AsciiDoc source and populate the document AST.
99
+ *
100
+ * This method is idempotent — repeated calls are no-ops once parsing is done.
101
+ * You rarely need to call it directly: prefer {@link Document.create} (factory) or
102
+ * the top-level {@link load} / {@link loadFile} functions, which call `parse()` for you.
103
+ *
104
+ * Call `parse()` explicitly only when you constructed `new Document(...)` by hand and
105
+ * need to defer the work, or when you want to supply a replacement `data` source.
106
+ *
107
+ * @param {string|string[]|null} [data=null] - Optional replacement source lines.
108
+ * When provided, replaces the data that was given to the constructor.
109
+ * @returns {Promise<Document>} This Document instance (allows chaining).
110
+ *
111
+ * @example
112
+ * const doc = new Document('= Hello', {})
113
+ * await doc.parse()
114
+ * console.log(doc.getTitle()) // → 'Hello'
115
+ */
116
+ parse(data?: string | string[] | null): Promise<Document>;
117
+ /**
118
+ * Return whether the document has been fully parsed.
119
+ * @returns {boolean}
120
+ */
121
+ isParsed(): boolean;
122
+ /**
123
+ * Get the named counter and advance it by one step.
124
+ *
125
+ * Counters are document-scoped sequences used for automatic numbering (figures,
126
+ * tables, custom labels, …). Each call increments the sequence and returns the
127
+ * new value. Numeric counters increment by 1; alphabetic counters advance through
128
+ * the alphabet (`'a'` → `'b'` → … → `'z'`).
129
+ *
130
+ * When the counter does not yet exist:
131
+ * - If `seed` is a number (or a string that parses as an integer), the counter starts at `seed`.
132
+ * - If `seed` is a letter (`'a'`–`'z'`), the counter starts at that letter.
133
+ * - If `seed` is `null` (default), the counter starts at `1`.
134
+ *
135
+ * @param {string} name - Counter name (document-scoped key).
136
+ * @param {string|number|null} [seed=null] - Starting value for new counters.
137
+ * @returns {string|number} The new counter value after incrementing.
138
+ *
139
+ * @example <caption>Numeric counter (auto-starts at 1)</caption>
140
+ * doc.counter('figure-number') // → 1
141
+ * doc.counter('figure-number') // → 2
142
+ *
143
+ * @example <caption>Alphabetic counter</caption>
144
+ * doc.counter('appendix-number', 'A') // → 'A'
145
+ * doc.counter('appendix-number', 'A') // → 'B'
146
+ *
147
+ * @example <caption>Numeric counter with custom start</caption>
148
+ * doc.counter('example-number', 5) // → 5
149
+ * doc.counter('example-number', 5) // → 6
150
+ */
151
+ counter(name: string, seed?: string | number | null): string | number;
152
+ /**
153
+ * Increment the specified counter and store it in the block's attributes.
154
+ * @param {string} counterName
155
+ * @param {Object} block
156
+ * @returns {string|number} The new counter value.
157
+ */
158
+ incrementAndStoreCounter(counterName: string, block: any): string | number;
159
+ /** @deprecated Use incrementAndStoreCounter instead. */
160
+ counterIncrement(counterName: any, block: any): string | number;
161
+ /**
162
+ * Register a reference in the document catalog.
163
+ * @param {string} type - Catalog type ('ids', 'refs', 'footnotes', 'links', 'images', 'callouts').
164
+ * @param {*} value - The value to register.
165
+ */
166
+ register(type: string, value: any): boolean | Inline;
167
+ /**
168
+ * Find the first registered reference matching the given reftext.
169
+ * @param {string} text - The reftext to look up.
170
+ * @returns {string|null} The matching ID, or null.
171
+ */
172
+ resolveId(text: string): string | null;
173
+ isMultipart(): boolean;
174
+ hasFootnotes(): boolean;
175
+ get footnotes(): any;
176
+ get callouts(): any;
177
+ isNested(): boolean;
178
+ isEmbedded(): boolean;
179
+ hasExtensions(): boolean;
180
+ source(): string;
181
+ sourceLines(): string[];
182
+ basebackend(base: any): boolean;
183
+ /**
184
+ * Resolve the primary title for the document.
185
+ * @param {Object} [opts={}]
186
+ * @param {boolean} [opts.use_fallback] - Use 'untitled-label' if no title found.
187
+ * @param {boolean|string} [opts.partition] - Return a DocumentTitle instead of a string.
188
+ * @param {boolean} [opts.sanitize] - Strip XML tags from the title.
189
+ * @returns {string|DocumentTitle|null}
190
+ */
191
+ doctitle(opts?: {
192
+ use_fallback?: boolean;
193
+ partition?: boolean | string;
194
+ sanitize?: boolean;
195
+ }): string | DocumentTitle | null;
196
+ get name(): string | DocumentTitle;
197
+ get author(): any;
198
+ get revdate(): any;
199
+ authors(): Author[];
200
+ isNotitle(): boolean;
201
+ isNoheader(): boolean;
202
+ isNofooter(): boolean;
203
+ firstSection(): AbstractBlock<string>;
204
+ hasHeader(): boolean;
205
+ /**
206
+ * Append a child Block, assigning index if it's a section.
207
+ * @param {Object} block
208
+ * @returns {Object} The appended block.
209
+ */
210
+ append(block: any): any;
211
+ /**
212
+ * @private
213
+ * Called by parser after parsing header, before parsing body.
214
+ */
215
+ private finalizeHeader;
216
+ /**
217
+ * Replay attribute assignments from block attributes.
218
+ * @param {Object} blockAttributes
219
+ */
220
+ playbackAttributes(blockAttributes: any): void;
221
+ /**
222
+ * Set the specified attribute if not locked, applying attribute value substitutions.
223
+ * @param {string} name
224
+ * @param {string} [value='']
225
+ * @returns {string|null} The substituted value, or `null` if the attribute is locked.
226
+ */
227
+ setAttribute(name: string, value?: string): string | null;
228
+ /**
229
+ * Delete the specified attribute if not locked.
230
+ * @param {string} name
231
+ * @returns {boolean} True if deleted, false if locked.
232
+ */
233
+ deleteAttribute(name: string): boolean;
234
+ /**
235
+ * Check if the attribute is locked (set via attribute overrides).
236
+ * @param {string} name
237
+ * @returns {boolean}
238
+ */
239
+ isAttributeLocked(name: string): boolean;
240
+ /** @deprecated Use isAttributeLocked instead. */
241
+ attributeLocked(name: any): boolean;
242
+ /**
243
+ * Assign a value to the specified attribute in the document header.
244
+ * @param {string} name
245
+ * @param {string} [value='']
246
+ * @param {boolean} [overwrite=true]
247
+ * @returns {boolean} False if the attribute exists and overwrite is false.
248
+ */
249
+ setHeaderAttribute(name: string, value?: string, overwrite?: boolean): boolean;
250
+ /**
251
+ * Convert the parsed document to its output format (HTML5 by default).
252
+ *
253
+ * If `parse()` has not been called yet, it is called automatically.
254
+ *
255
+ * @param {Object} [opts={}] - Conversion options.
256
+ * @param {boolean} [opts.standalone] - When `true`, wraps output in a full
257
+ * document shell (html/head/body). Defaults to the `standalone` option
258
+ * passed at load time (which itself defaults to `true`).
259
+ * @param {string} [opts.outfile] - Path of the output file; stored as the
260
+ * `outfile` document attribute during conversion.
261
+ * @param {string} [opts.outdir] - Directory of the output file; stored as the
262
+ * `outdir` document attribute during conversion.
263
+ * @returns {Promise<string>} The converted output string.
264
+ *
265
+ * @example <caption>Embedded HTML (no html/head/body wrapper)</caption>
266
+ * const doc = await Document.create('= Hello\nWorld', {})
267
+ * const html = await doc.convert({ standalone: false })
268
+ *
269
+ * @example <caption>Full standalone HTML page</caption>
270
+ * const html = await doc.convert({ standalone: true })
271
+ */
272
+ convert(opts?: {
273
+ standalone?: boolean;
274
+ outfile?: string;
275
+ outdir?: string;
276
+ }): Promise<string>;
277
+ /** @deprecated Use convert instead. */
278
+ render(opts?: {}): Promise<string>;
279
+ /**
280
+ * Write converted output to a file path or a writable stream.
281
+ *
282
+ * When `target` is a **string**, the output is written to that file path using
283
+ * `node:fs/promises.writeFile`.
284
+ * When `target` is a **writable stream** (has a `.write()` method), the output
285
+ * is written to the stream in two chunks (content + newline).
286
+ * When the converter itself implements `write()`, that method is called instead.
287
+ *
288
+ * @param {string} output - The converted output string returned by {@link convert}.
289
+ * @param {string|import('stream').Writable} target - File path or writable stream.
290
+ * @returns {Promise<void>}
291
+ *
292
+ * @example <caption>Write to a file</caption>
293
+ * const output = await doc.convert()
294
+ * await doc.write(output, 'out/index.html')
295
+ *
296
+ * @example <caption>Write to a stream</caption>
297
+ * await doc.write(output, process.stdout)
298
+ */
299
+ write(output: string, target: string | any): Promise<void>;
300
+ /**
301
+ * Read the docinfo file(s) for inclusion in the document template.
302
+ * @param {string} [location='head'] - 'head' or 'footer'.
303
+ * @param {string|null} [suffix=null] - File suffix override.
304
+ * @returns {Promise<string>} Combined docinfo content.
305
+ */
306
+ docinfo(location?: string, suffix?: string | null): Promise<string>;
307
+ /**
308
+ * @param {string} [location='head'] A location for checking docinfo extensions at a given location (head or footer).
309
+ * @returns {boolean} True if docinfo processors are registered for the given location.
310
+ */
311
+ hasDocinfoProcessors(location?: string): boolean;
312
+ /**
313
+ * @deprecated Use {@link getDocumentTitle} instead.
314
+ * @see getDocumentTitle
315
+ */
316
+ getDoctitle(opts?: {}): string | DocumentTitle;
317
+ /**
318
+ * Resolve the primary title for the document.
319
+ *
320
+ * Searches the following locations in order, returning the first non-empty value:
321
+ * - document-level attribute named `title`
322
+ * - header title (the document title)
323
+ * - title of the first section
324
+ * - document-level attribute named `untitled-label` (if `opts.use_fallback` is set)
325
+ *
326
+ * If no value can be resolved, `null` is returned.
327
+ *
328
+ * If `opts.partition` is specified, the value is parsed into a {@link DocumentTitle} object.
329
+ * If `opts.sanitize` is specified, XML elements are removed from the value.
330
+ * @param {Object} [opts={}]
331
+ * @param {boolean} [opts.partition] - Parse the title into a {@link DocumentTitle} with main and subtitle parts.
332
+ * @param {boolean} [opts.sanitize] - Strip XML/HTML elements from the resolved title.
333
+ * @param {boolean} [opts.use_fallback] - Fall back to the `untitled-label` attribute if no title is found.
334
+ * @returns {string|DocumentTitle|null} The resolved title, or null if none found.
335
+ */
336
+ getDocumentTitle(opts?: {
337
+ partition?: boolean;
338
+ sanitize?: boolean;
339
+ use_fallback?: boolean;
340
+ }): string | DocumentTitle | null;
341
+ /** @returns {string} The document type (e.g. 'article', 'book'). */
342
+ getDoctype(): string;
343
+ /** @returns {string} The backend name (e.g. 'html5', 'docbook5'). */
344
+ getBackend(): string;
345
+ /**
346
+ * @returns {number} The safe mode level as a numeric value.
347
+ * Corresponds to {@link SafeMode}: unsafe (0), safe (1), server (10), secure (20).
348
+ */
349
+ getSafe(): number;
350
+ /**
351
+ * Get the AsciiDoc compatibility mode flag.
352
+ *
353
+ * Enabling this attribute activates the following syntax changes:
354
+ * - single quotes as constrained emphasis formatting marks
355
+ * - single backticks parsed as inline literal, formatted as monospace
356
+ * - single plus parsed as constrained, monospaced inline formatting
357
+ * - double plus parsed as constrained, monospaced inline formatting
358
+ * @returns {boolean} True if compat mode is enabled.
359
+ */
360
+ getCompatMode(): boolean;
361
+ /** @returns {boolean} True if sourcemap is enabled. */
362
+ getSourcemap(): boolean;
363
+ /** @param {boolean} val */
364
+ setSourcemap(val: boolean): void;
365
+ /** @returns {string} The output file suffix (e.g. '.html'). */
366
+ getOutfilesuffix(): string;
367
+ /** @returns {Object} The frozen options object. */
368
+ getOptions(): any;
369
+ /**
370
+ * Set the converter instance for this document.
371
+ * @param {Object} converter - The converter instance.
372
+ */
373
+ setConverter(converter: any): void;
374
+ /** @returns {string|null} The raw AsciiDoc source. */
375
+ getSource(): string | null;
376
+ /** @returns {string[]|null} The source lines. */
377
+ getSourceLines(): string[] | null;
378
+ /** @returns {Object} The preprocessor reader. */
379
+ getReader(): any;
380
+ /** @returns {Footnote[]} The registered footnotes. */
381
+ getFootnotes(): Footnote[];
382
+ /** @returns {Object} The callouts registry. */
383
+ getCallouts(): any;
384
+ /** @returns {Object} The asset catalog. */
385
+ getCatalog(): any;
386
+ /** @returns {Object} The counters map. */
387
+ getCounters(): any;
388
+ /** @returns {string|null} The first author name. */
389
+ getAuthor(): string | null;
390
+ /** @returns {Author[]} All document authors. */
391
+ getAuthors(): Author[];
392
+ /** @returns {string} The base directory path. */
393
+ getBaseDir(): string;
394
+ /** @returns {RevisionInfo} The revision information. */
395
+ getRevisionInfo(): RevisionInfo;
396
+ /** @returns {Object|null} The extensions registry. */
397
+ getExtensions(): any | null;
398
+ /** @returns {Document|undefined} The parent document, or undefined for root documents. */
399
+ getParentDocument(): Document | undefined;
400
+ /**
401
+ * Get the parent node of this node.
402
+ * Always returns undefined for a root Document (Document is its own internal parent).
403
+ * @returns {undefined}
404
+ */
405
+ getParent(): undefined;
406
+ /** @returns {Object|null} The syntax highlighter instance. */
407
+ getSyntaxHighlighter(): any | null;
408
+ /** @returns {Object} The id→node reference map. */
409
+ getRefs(): any;
410
+ /** @returns {ImageReference[]} The registered image references. */
411
+ getImages(): ImageReference[];
412
+ /** @returns {string[]} The registered links. */
413
+ getLinks(): string[];
414
+ /** @returns {Object|null} The level-0 Section (document header). */
415
+ getHeader(): any | null;
416
+ /** @returns {boolean} True if the basebackend attribute is set. */
417
+ isBasebackend(): boolean;
418
+ /** @returns {Object} The asset catalog (alias for getCatalog). */
419
+ getReferences(): any;
420
+ /** @returns {string|undefined} The revision date. */
421
+ getRevisionDate(): string | undefined;
422
+ /** @returns {string|undefined} The revision date (alias for getRevisionDate). */
423
+ getRevdate(): string | undefined;
424
+ /** @returns {string|undefined} The revision number. */
425
+ getRevisionNumber(): string | undefined;
426
+ /** @returns {string|undefined} The revision remark. */
427
+ getRevisionRemark(): string | undefined;
428
+ /** @returns {boolean} True if any revision info is set. */
429
+ hasRevisionInfo(): boolean;
430
+ /** @returns {boolean} True if the notitle attribute is set. */
431
+ getNotitle(): boolean;
432
+ /** @returns {boolean} True if the noheader attribute is set. */
433
+ getNoheader(): boolean;
434
+ /** @returns {boolean} True if the nofooter attribute is set. */
435
+ getNofooter(): boolean;
436
+ /** Restore attributes to their saved header state. */
437
+ restoreAttributes(): void;
438
+ /**
439
+ * @param {string} [location='head']
440
+ * @param {string} [suffix]
441
+ * @returns {Promise<string>}
442
+ */
443
+ getDocinfo(location?: string, suffix?: string): Promise<string>;
444
+ /**
445
+ * Delete the specified attribute if not locked.
446
+ * @param {string} name - The attribute name to remove.
447
+ * @returns {string|undefined} The previous value, or undefined if not present or locked.
448
+ */
449
+ removeAttribute(name: string): string | undefined;
450
+ /**
451
+ * @private
452
+ * Sync version: applies only synchronous subs (specialcharacters, attributes, replacements).
453
+ * Used by setAttribute() which must remain sync for the {set:...} inline directive path.
454
+ * Async subs (quotes, macros, …) in pass macros are handled by _applyAttributeEntryValueSubs.
455
+ */
456
+ private _applyAttributeValueSubs;
457
+ /**
458
+ * @private
459
+ * Async version: applies all subs including async ones (quotes, macros, …).
460
+ * Used by processAttributeEntry() which can await the result.
461
+ */
462
+ private _applyAttributeEntryValueSubs;
463
+ /**
464
+ * @private
465
+ * Resolve the list of substitutions to apply to docinfo files.
466
+ *
467
+ * Resolves subs from the `docinfosubs` document attribute if present,
468
+ * otherwise returns `['attributes']` as the default.
469
+ * @returns {string[]} The list of substitutions to apply.
470
+ */
471
+ private _resolveDocinfoSubs;
472
+ /**
473
+ * @private
474
+ * Walk the block tree and pre-compute all async text values.
475
+ * Handles titles (AbstractBlock), list item text, table cell text, and reftexts.
476
+ */
477
+ private _resolveAllTexts;
478
+ /**
479
+ * @private
480
+ * Create and initialize an instance of the converter for this document.
481
+ * @param {string} backend - The backend name (e.g. 'html5', 'docbook5').
482
+ * @param {string} [delegateBackend] - An optional delegate backend to use when resolving the converter.
483
+ */
484
+ private _createConverter;
485
+ }
486
+ export namespace Document {
487
+ export { Footnote };
488
+ }
489
+ import { Footnote } from './footnote.js';
490
+ import { AttributeEntry } from './attribute_entry.js';
491
+ import { AbstractBlock } from './abstract_block.js';
492
+ import type { Reader } from './reader.js';
493
+ import { Section } from './section.js';
494
+ import { Inline } from './inline.js';
495
+ export { Footnote, AttributeEntry };