docutils-ts
Version:
Port of the Python Docutils library to TypeScript
756 lines (752 loc) • 32.1 kB
TypeScript
import Transformer from "./transformer.js";
import { Attributes, Document, ElementInterface, FastTraverseArg, HasIndent, NameIds, NodeInterface, QuoteattrCallback, ReporterInterface, Systemmessage, TextElementInterface, TraverseArgs, Visitor, SubstitutionNames, SubstitutionDefs, RefNames, LoggerType } from "./types.js";
import { Settings } from "./settings.js";
import { whitespaceNormalizeName } from "./nodeUtils.js";
declare function _addNodeClassNames(names: string[], o: any): void;
declare const SkipChildren: {
new (): {};
};
declare const StopTraversal: {
new (): {};
};
declare class SkipNode extends Error {
}
declare const SkipDeparture: {
new (): {};
};
declare const SkipSiblings: {
new (): {};
};
declare const NodeFound: {
new (): {};
};
/**
* "Visitor" pattern [GoF95]_ abstract superclass implementation for
* document tree traversals.
*
* Each node class has corresponding methods, doing nothing by
* default; override individual methods for specific and useful
* behaviour. The `dispatch_visit()` method is called by
* `Node.walk()` upon entering a node. `Node.walkabout()` also calls
* the `dispatch_departure()` method before exiting a node.
*
* The dispatch methods call "``visit_`` + node class name" or
* "``depart_`` + node class name", resp.
*
* This is a base class for visitors whose ``visit_...`` & ``depart_...``
* methods should be implemented for *all* node types encountered (such as
* for `docutils.writers.Writer` subclasses). Unimplemented methods will
* raise exceptions.
*
* For sparse traversals, where only certain node types are of interest,
* subclass `SparseNodeVisitor` instead. When (mostly or entirely) uniform
* processing is desired, subclass `GenericNodeVisitor`.
*
* .. [GoF95] Gamma, Helm, Johnson, Vlissides. *Design Patterns: Elements of
* Reusable Object-Oriented Software*. Addison-Wesley, Reading, MA, USA,
* 1995.
*/
declare class NodeVisitor {
document: Document;
optional: string[];
protected strictVisitor: boolean | undefined | null;
[name: string]: any;
/**
* Create a NodeVisitor.
* @param {nodes.document} document - document to visit
*/
constructor(document: Document);
/**
* Call this."``visit_`` + node class name" with `node` as
* parameter. If the ``visit_...`` method does not exist, call
* this.unknown_visit.
*/
dispatchVisit(node: NodeInterface): {} | undefined | void;
dispatchDeparture(node: NodeInterface): {} | undefined | void;
/**
* Called when entering unknown `Node` types.
*
* Raise an exception unless overridden.
*/
unknownVisit(node: NodeInterface): never | void;
/**
* Called before exiting unknown `Node` types.
*
* Raise exception unless overridden.
*/
unknownDeparture(node: NodeInterface): never | void;
}
/**
* Base class for sparse traversals, where only certain node types are of
* interest. When ``visit_...`` & ``depart_...`` methods should be
* implemented for *all* node types (such as for `docutils.writers.Writer`
* subclasses), subclass `NodeVisitor` instead.
*/
declare class SparseNodeVisitor extends NodeVisitor {
}
/**
* Generic "Visitor" abstract superclass, for simple traversals.
*
* Unless overridden, each ``visit_...`` method calls `default_visit()`, and
* each ``depart_...`` method (when using `Node.walkabout()`) calls
* `default_departure()`. `default_visit()` (and `default_departure()`) must
* be overridden in subclasses.
*
* Define fully generic visitors by overriding `default_visit()` (and
* `default_departure()`) only. Define semi-generic visitors by overriding
* individual ``visit_...()`` (and ``depart_...()``) methods also.
*
* `NodeVisitor.unknown_visit()` (`NodeVisitor.unknown_departure()`) should
* be overridden for default behavior.
*/
declare class GenericNodeVisitor extends NodeVisitor {
static nodeClassNames: never[];
constructor(document: Document);
default_visit(node: NodeInterface): void;
default_departure(node: NodeInterface): void;
}
declare class Resolvable {
}
declare class Root {
}
declare class Titular {
}
/**
* Category of Node which may occur before Bibliographic Nodes.
*/
declare class PreBibliographic {
}
declare class Bibliographic {
}
declare class Decorative extends PreBibliographic {
}
declare class Structural {
}
declare class Body {
}
declare class General extends Body {
}
/** List-like elements. */
declare class Sequential extends Body {
}
declare class Admonition extends Body {
}
/** Special internal body elements. */
declare class Special extends Body {
}
/** Internal elements that don't appear in output. */
declare class Invisible extends PreBibliographic {
}
declare class Part {
}
declare class Inline {
}
declare class Referential extends Resolvable {
}
declare class Targetable extends Resolvable {
}
/** Contains a `label` as its first element. */
declare class Labeled {
}
/**
* Node class.
*
* The base class for all docutils nodes.
*/
declare abstract class Node implements NodeInterface {
removeChild(index: number): void;
append(item: NodeInterface): void;
getChild(index: number): NodeInterface;
hasChildren(): boolean;
getNumChildren(): number;
clearChildren(): void;
getChildren(): NodeInterface[];
protected get children(): NodeInterface[];
protected set children(value: NodeInterface[]);
isSetup: boolean;
/**
* List attributes which are defined for every Element-derived class
* instance and can be safely transferred to a different node.
*/
basicAttributes: string[];
/**
* List attributes, automatically initialized to empty lists for
* all nodes.
*/
listAttributes: string[];
/** List attributes that are known to the Element base class. */
knownAttributes: string[];
childTextSeparator: string;
abstract emptytag(): string;
referenced: boolean;
names: string[];
currentSource: string;
currentLine: number;
rawsource: string;
tagname: string;
get parent(): ElementInterface;
_parent?: NodeInterface;
document?: Document;
source: string | undefined;
line: number | undefined;
classTypes: any[];
private _children;
attributes: Attributes;
/**
* Create a node
*/
constructor();
_init(): void;
/**
Return the first node in the iterable returned by traverse(),
or None if the iterable is empty.
Parameter list is the same as of traverse. Note that
include_self defaults to 0, though.
*/
nextNode(args: TraverseArgs): NodeInterface | undefined;
hasClassType(classType: any): boolean;
isInline(): boolean;
isAdmonition(): boolean;
asDOM(dom: {}): {};
abstract pformat(indent?: string, level?: number): string;
abstract astext(): string;
abstract copy(): NodeInterface;
abstract deepcopy(): NodeInterface;
abstract _domNode(domroot: globalThis.Document): {};
setupChild(child: NodeInterface): void;
/**
* Traverse a tree of `Node` objects, calling the
* `dispatch_visit()` method of `visitor` when entering each
* node. (The `walkabout()` method is similar, except it also
* calls the `dispatch_departure()` method before exiting each
* node.)
*
* This tree traversal supports limited in-place tree
* modifications. Replacing one node with one or more nodes is
* OK, as is removing an element. However, if the node removed
* or replaced occurs after the current node, the old node will
* still be traversed, and any new nodes will not.
*
* Within ``visit`` methods (and ``depart`` methods for
* `walkabout()`), `TreePruningException` subclasses may be raised
* (`SkipChildren`, `SkipSiblings`, `SkipNode`, `SkipDeparture`).
*
* Parameter `visitor`: A `NodeVisitor` object, containing a
* ``visit`` implementation for each `Node` subclass encountered.
*
* Return true if we should stop the traversal.
*/
walk(visitor: Visitor): boolean;
walkabout(visitor: Visitor): boolean;
_fastTraverse(cls: FastTraverseArg): NodeInterface[];
_allTraverse(): NodeInterface[];
traverse(args: TraverseArgs): NodeInterface[];
add(iNodes: NodeInterface[] | NodeInterface): void;
endtag(): string;
starttag(quoteattr?: QuoteattrCallback): string;
addBackref(prbid: {}): void;
updateBasicAtts(dict_: Attributes): void;
appendAttrList(attr: string, values: (string | {})[]): void;
replaceAttr(attr: string, value: (string | {})[] | string | {}, force?: boolean): void;
copyAttrConsistent(attr: string, value: (string | {}), replace?: boolean): void;
updateAllAtts(dict_: Attributes, updateFun?: (attr: string, value: (string | {}), replace?: boolean) => void, replace?: boolean, andSource?: boolean): void;
/**
Updates all attributes from node or dictionary `dict_`.
Appends the basic attributes ('ids', 'names', 'classes',
'dupnames', but not 'source') and then, for all other attributes in
dict_, updates the same attribute in self. When attributes with the
same identifier appear in both self and dict_ whose values aren't each
lists and replace is True, the values in self are replaced with the
values in dict_; if the values from self and dict_ for the given
identifier are both of list type, then the two lists are concatenated
and the result stored in self; otherwise, the values in self are
preserved. When and_source is True, the 'source' attribute is
included in the copy.
NOTE: When replace is False, and self contains a 'source' attribute,
'source' is not replaced even when dict_ has a 'source'
attribute, though it may still be merged into a list depending
on the value of update_fun.
*/
updateAllAttsConcatenating(dict_: Attributes, replace?: boolean, andSource?: boolean): void;
/**
Returns True if and only if the given attribute is NOT one of the
basic list attributes defined for all Elements.
*/
isNotListAttribute(attr: string): boolean;
/**
Returns True if and only if the given attribute is NOT recognized by
this class.
*/
isNotKnownAttribute(attr: string): boolean;
copyAttrConcatenate(attr: string, value: string | string[], replace?: boolean): void;
getCustomAttr(attrName: string): undefined;
}
declare class Element extends Node implements ElementInterface {
nodeName: any;
/**
* A list of class-specific attributes that should not be copied with the
* standard attributes when replacing a node.
*
* NOTE: Derived classes should override this value to prevent any of its
* attributes being copied by adding to the value in its parent class.
*/
localAttributes: string[];
/**
* The element generic identifier. If None, it is set as an instance
* attribute to the name of the class.
*/
tagname: string;
attributes: Attributes;
/**
* Create element.
* @classdesc Abstracts a docutils Element.
* @extends module:nodes~Node
*/
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
_init(): void;
_domNode(domroot: globalThis.Document): {};
emptytag(): string;
astext(): string;
extend(...items: any[]): void;
append(item: NodeInterface): void;
add(item: NodeInterface[] | NodeInterface): void;
setupChild(child: NodeInterface): void;
starttag(quoteAttr?: QuoteattrCallback): string;
endtag(): string;
attlist(): Attributes;
nonDefaultAttributes(): Attributes;
isNotDefault(key: string): boolean;
firstChildNotMatchingClass(childClass: any | any[], start?: number, end?: number): number | undefined;
pformat(indent?: string, level?: number): string;
copy(): NodeInterface;
deepcopy(): NodeInterface;
/** Note that this Element has been referenced by its name
`name` or id `id`. */
noteReferencedBy(name: string, id: string): void;
}
declare class header extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class footer extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class decoration extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
getHeader(): NodeInterface;
getFooter(): NodeInterface;
}
declare class Text extends Node {
pformat(indent?: string, level?: number): string;
copy(): NodeInterface;
deepcopy(): NodeInterface;
walk(visitor: Visitor): boolean;
private data;
constructor(data: string, rawsource?: string);
_domNode(domroot: globalThis.Document): {};
astext(): string;
toString(): string;
toSource(): string;
add(iNodes: NodeInterface[] | NodeInterface): void;
emptytag(): string;
}
declare class TextElement extends Element implements TextElementInterface {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
export interface TransformerInterface {
addPending(pending: NodeInterface, priority: number): void;
}
/**
* Document class. Do not call the constructor, rather call
* {@link newDocument} to obtain a new document instance
*
* Implements {@link Document}
* @extends Element
* @implements Document
*/
declare class document extends Element implements Document {
settings: Settings;
reporter: ReporterInterface;
decoration?: decoration;
transformMessages: Systemmessage[];
parseMessages: Systemmessage[];
transformer: Transformer;
substitutionDefs: SubstitutionDefs;
substitutionNames: SubstitutionNames;
citationRefs: RefNames;
private citations;
private footnoteRefs;
private autofootnoteRefs;
private symbolFootnotes;
private footnotes;
private symbolFootnoteRefs;
private indirectTargets;
private autofootnotes;
private refIds;
private refNames;
nameIds: NameIds;
private ids;
private nameTypes;
private idStart;
private autofootnoteStart;
private symbolFootnoteStart;
private idPrefix;
private autoIdPrefix;
logger: LoggerType;
/** Private constructor */
constructor(settings: Settings, reporter: ReporterInterface, logger: LoggerType, rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
setId(node: NodeInterface, msgnode?: NodeInterface): string;
setNameIdMap(node: NodeInterface, id: string, msgnode: NodeInterface, explicit?: boolean): void;
setDuplicateNameId(node: NodeInterface, id: string, name: string, msgnode: NodeInterface, explicit?: boolean): void;
hasName(name: string): boolean;
noteImplicitTarget(target: NodeInterface, msgnode: NodeInterface): void;
noteExplicitTarget(target: NodeInterface, msgnode?: NodeInterface): void;
noteRefname(node: NodeInterface): void;
noteRefId(node: NodeInterface): void | never;
noteIndirectTarget(target: NodeInterface): void;
noteAnonymousTarget(target: NodeInterface): void;
noteAutofootnote(footnote: NodeInterface): void;
noteAutofootnoteRef(ref: NodeInterface): void;
noteSymbolFootnote(footnote: NodeInterface): void;
noteSymbolFootnoteRef(ref: NodeInterface): void;
noteFootnote(footnote: NodeInterface): void;
noteFootnoteRef(ref: NodeInterface): void;
noteCitation(citation: NodeInterface): void;
noteCitationRef(ref: NodeInterface): void | never;
noteSubstitutionDef(subdef: substitution_definition, defName: string, msgnode: NodeInterface): void;
noteSubstitutionRef(subref: NodeInterface, refname: string): void;
notePending(pending: NodeInterface, priority: number): void;
noteParseMessage(message: Systemmessage): void;
noteTransformMessage(message: Systemmessage): void;
noteSource(source: string, offset: number): void;
getDecoration(): decoration;
}
declare class FixedTextElement extends TextElement {
}
declare class title extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class subtitle extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class rubric extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class docinfo extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class author extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class authors extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class organization extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class address extends FixedTextElement {
constructor(...args: any[]);
}
declare class contact extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class version extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class revision extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class status extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class date extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class copyright extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class section extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
/**
* Topics are terminal, "leaf" mini-sections, like block quotes with titles,
* or textual figures. A topic is just like a section, except that it has no
* subsections, and it doesn't have to conform to section placement rules.
*
* Topics are allowed wherever body elements (list, table, etc.) are allowed,
* but only at the top level of a section or document. Topics cannot nest
* inside topics, sidebars, or body elements; you can't have a topic inside a
* table, list, block quote, etc.
*/
declare class topic extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class sidebar extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class transition extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class paragraph extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class compound extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class container extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class bullet_list extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class enumerated_list extends Element {
start?: number;
suffix?: string;
prefix?: string;
enumtype: string;
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class list_item extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class definition_list extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class definition_list_item extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class term extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class classifier extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class definition extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class field_list extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class field extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class field_name extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class field_body extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class option extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class option_argument extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
astext(): string;
}
declare class option_group extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class option_list extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class option_list_item extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class option_string extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class description extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class literal_block extends FixedTextElement {
constructor(...args: any[]);
}
declare class doctest_block extends FixedTextElement {
constructor(...args: any[]);
}
declare class math_block extends FixedTextElement {
constructor(...args: any[]);
}
declare class line_block extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class line extends TextElement implements HasIndent {
indent: number;
_init(): void;
}
declare class block_quote extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class attribution extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class attention extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class caution extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class danger extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class error extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class important extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class note extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class tip extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class hint extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class warning extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class admonition extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class comment extends FixedTextElement {
constructor(...args: any[]);
}
declare class substitution_definition extends TextElement {
constructor(...args: any[]);
}
declare class target extends TextElement {
indirectReferenceName: string;
constructor(...args: any[]);
}
declare class footnote extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class citation extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class label extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class figure extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class caption extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class legend extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class table extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class tgroup extends Element {
stubs?: {}[];
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class colspec extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class thead extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class tbody extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class row extends Element {
column?: number;
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class entry extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class system_message extends Element implements Systemmessage {
constructor(message: string, children: NodeInterface[], attributes: Attributes);
}
/**
* The "pending" element is used to encapsulate a pending operation: the
* operation (transform), the point at which to apply it, and any data it
* requires. Only the pending operation's location within the document is
* stored in the public document tree (by the "pending" object itself); the
* operation and its data are stored in the "pending" object's internal
* instance attributes.
*
* For example, say you want a table of contents in your reStructuredText
* document. The easiest way to specify where to put it is from within the
* document, with a directive::
*
* .. contents::
*
* But the "contents" directive can't do its work until the entire document
* has been parsed and possibly transformed to some extent. So the directive
* code leaves a placeholder behind that will trigger the second phase of its
* processing, something like this::
*
* <pending ...public attributes...> + internal attributes
*
* Use `document.note_pending()` so that the
* `docutils.transforms.Transformer` stage of processing can run all pending
* transforms.
*/
declare class pending extends Element {
details: {};
transform: {};
constructor(transform: {}, details: {}, rawsource: string | undefined, children: NodeInterface[], attributes: Attributes);
}
declare class raw extends FixedTextElement {
constructor(...args: any[]);
}
declare class emphasis extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class strong extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class literal extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class reference extends TextElement {
indirectReferenceName: string | undefined;
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class footnote_reference extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class citation_reference extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class substitution_reference extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class title_reference extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class abbreviation extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class acronym extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class superscript extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class subscript extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class math extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class image extends Element {
constructor(rawsource?: string, children?: NodeInterface[], attributes?: Attributes);
astext(): string;
}
declare class inline extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class problematic extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
declare class generated extends TextElement {
constructor(rawsource?: string, text?: string, children?: NodeInterface[], attributes?: Attributes);
}
export { Node, whitespaceNormalizeName, NodeVisitor, GenericNodeVisitor, SparseNodeVisitor, Element, TextElement, Text, abbreviation, acronym, address, admonition, attention, attribution, author, authors, block_quote, bullet_list, caption, caution, citation, citation_reference, classifier, colspec, comment, compound, contact, container, copyright, danger, date, decoration, definition, definition_list, definition_list_item, description, docinfo, doctest_block, document, emphasis, entry, enumerated_list, error, field, field_body, field_list, field_name, figure, footer, footnote, footnote_reference, generated, header, hint, image, important, inline, label, legend, line, line_block, list_item, literal, literal_block, math, math_block, note, option, option_argument, option_group, option_list, option_list_item, option_string, organization, paragraph, pending, problematic, raw, reference, revision, row, rubric, section, sidebar, status, strong, subscript, substitution_definition, substitution_reference, subtitle, superscript, system_message, table, target, tbody, term, tgroup, thead, tip, title, title_reference, topic, transition, version, warning, Root, Titular, PreBibliographic, Bibliographic, Decorative, Structural, Body, General, Sequential, Admonition, Special, Invisible, Part, Inline, Referential, Targetable, Labeled, _addNodeClassNames, SkipChildren, StopTraversal, SkipNode, SkipDeparture, SkipSiblings, FixedTextElement, NodeFound, };