12345678910111213141516171819202122232425262728293031323334353637 |
- import type { TagToken } from '../common/token.js';
- import type { TreeAdapter, TreeAdapterTypeMap } from '../tree-adapters/interface.js';
- export declare enum EntryType {
- Marker = 0,
- Element = 1
- }
- interface MarkerEntry {
- type: EntryType.Marker;
- }
- export interface ElementEntry<T extends TreeAdapterTypeMap> {
- type: EntryType.Element;
- element: T['element'];
- token: TagToken;
- }
- export type Entry<T extends TreeAdapterTypeMap> = MarkerEntry | ElementEntry<T>;
- export declare class FormattingElementList<T extends TreeAdapterTypeMap> {
- private treeAdapter;
- entries: Entry<T>[];
- bookmark: Entry<T> | null;
- constructor(treeAdapter: TreeAdapter<T>);
- private _getNoahArkConditionCandidates;
- private _ensureNoahArkCondition;
- insertMarker(): void;
- pushElement(element: T['element'], token: TagToken): void;
- insertElementAfterBookmark(element: T['element'], token: TagToken): void;
- removeEntry(entry: Entry<T>): void;
- /**
- * Clears the list of formatting elements up to the last marker.
- *
- * @see https://html.spec.whatwg.org/multipage/parsing.html#clear-the-list-of-active-formatting-elements-up-to-the-last-marker
- */
- clearToLastMarker(): void;
- getElementEntryInScopeWithTagName(tagName: string): ElementEntry<T> | null;
- getElementEntry(element: T['element']): ElementEntry<T> | undefined;
- }
- export {};
- //# sourceMappingURL=formatting-element-list.d.ts.map
|