/** * Pass a hast tree through an HTML parser, which will fix nesting, and turn * raw nodes into actual nodes. * * @param {Nodes} tree * Original hast tree to transform. * @param {Options | null | undefined} [options] * Configuration (optional). * @returns {Nodes} * Parsed again tree. */ export function raw(tree: Nodes, options?: Options | null | undefined): Nodes; export type Comment = import('hast').Comment; export type Doctype = import('hast').Doctype; export type Element = import('hast').Element; export type Nodes = import('hast').Nodes; export type Root = import('hast').Root; export type RootContent = import('hast').RootContent; export type Text = import('hast').Text; export type Raw = import('mdast-util-to-hast').Raw; export type DefaultTreeAdapterMap = import('parse5').DefaultTreeAdapterMap; export type ParserOptions = import('parse5').ParserOptions; export type CharacterToken = import('parse5').Token.CharacterToken; export type CommentToken = import('parse5').Token.CommentToken; export type DoctypeToken = import('parse5').Token.DoctypeToken; export type Location = import('parse5').Token.Location; export type TagToken = import('parse5').Token.TagToken; export type Point = import('unist').Point; export type VFile = import('vfile').VFile; /** * Configuration. */ export type Options = { /** * Corresponding virtual file representing the input document (optional). */ file?: VFile | null | undefined; /** * List of custom hast node types to pass through (as in, keep) (optional). * * If the passed through nodes have children, those children are expected to * be hast again and will be handled. */ passThrough?: Array | null | undefined; }; /** * Info passed around about the current state. */ export type State = { /** * Add a hast node to the parser. */ handle: (node: Nodes) => undefined; /** * User configuration. */ options: Options; /** * Current parser. */ parser: Parser; /** * Whether there are stitches. */ stitches: boolean; }; /** * Custom comment-like value we pass through parse5, which contains a * replacement node that we’ll swap back in afterwards. */ export type Stitch = { type: 'comment'; value: { stitch: Nodes; }; }; import { Parser } from 'parse5'; /** * Transform a stitch. * * @param {Nodes} node * unknown node. * @param {State} state * Info passed around about the current state. * @returns {undefined} * Nothing. */ declare function stitch(node: Nodes, state: State): undefined; export {};