1 | import type { TagToken } from '../common/token.js';
|
2 | import type { TreeAdapter, TreeAdapterTypeMap } from '../tree-adapters/interface.js';
|
3 | export declare enum EntryType {
|
4 | Marker = 0,
|
5 | Element = 1
|
6 | }
|
7 | interface MarkerEntry {
|
8 | type: EntryType.Marker;
|
9 | }
|
10 | export interface ElementEntry<T extends TreeAdapterTypeMap> {
|
11 | type: EntryType.Element;
|
12 | element: T['element'];
|
13 | token: TagToken;
|
14 | }
|
15 | export type Entry<T extends TreeAdapterTypeMap> = MarkerEntry | ElementEntry<T>;
|
16 | export declare class FormattingElementList<T extends TreeAdapterTypeMap> {
|
17 | private treeAdapter;
|
18 | entries: Entry<T>[];
|
19 | bookmark: Entry<T> | null;
|
20 | constructor(treeAdapter: TreeAdapter<T>);
|
21 | private _getNoahArkConditionCandidates;
|
22 | private _ensureNoahArkCondition;
|
23 | insertMarker(): void;
|
24 | pushElement(element: T['element'], token: TagToken): void;
|
25 | insertElementAfterBookmark(element: T['element'], token: TagToken): void;
|
26 | removeEntry(entry: Entry<T>): void;
|
27 | /**
|
28 | * Clears the list of formatting elements up to the last marker.
|
29 | *
|
30 | * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker
|
31 | */
|
32 | clearToLastMarker(): void;
|
33 | getElementEntryInScopeWithTagName(tagName: string): ElementEntry<T> | null;
|
34 | getElementEntry(element: T['element']): ElementEntry<T> | undefined;
|
35 | }
|
36 | export {};
|
37 |
|
\ | No newline at end of file |