export type TokenType = string; /** @enum {string} */ export const TokenType: Readonly<{ ident: "ident"; command: "command"; lparen: "lparen"; rparen: "rparen"; lbrace: "lbrace"; rbrace: "rbrace"; lbracket: "lbracket"; rbracket: "rbracket"; colon: "colon"; comma: "comma"; dash: "dash"; star: "star"; plus: "plus"; pipe: "pipe"; double_pipe: "double_pipe"; ampersand: "ampersand"; double_ampersand: "double_ampersand"; string: "string"; number: "number"; bool: "bool"; null: "null"; text: "text"; indent: "indent"; dedent: "dedent"; newline: "newline"; math_inline: "math_inline"; math_display: "math_display"; interp_start: "interp_start"; interp_end: "interp_end"; at: "at"; equals: "equals"; dot: "dot"; semi: "semi"; hash: "hash"; question: "question"; lt: "lt"; gt: "gt"; bang: "bang"; code_content: "code_content"; eof: "eof"; }>; export class Token { /** @param {string} type @param {string} [value] @param {number} [line] @param {number} [col] @param {number} [pos] */ constructor(type: string, value?: string, line?: number, col?: number, pos?: number); /** @type {string} */ type: string; /** @type {string} */ value: string; /** @type {number} */ line: number; /** @type {number} */ col: number; /** @type {number} */ pos: number; /** @type {number} */ start: number; } export type NodeTag = string; /** @enum {string} */ export const NodeTag: Readonly<{ document: "document"; text: "text"; math_inline: "math_inline"; math_display: "math_display"; interpolation: "interpolation"; block: "block"; inline_block: "inline_block"; list_block: "list_block"; table_block: "table_block"; macro_def: "macro_def"; field_def: "field_def"; schema_def: "schema_def"; method_def: "method_def"; service_def: "service_def"; biblio_entry: "biblio_entry"; if_block: "if_block"; for_block: "for_block"; use_block: "use_block"; meta_block: "meta_block"; }>; /** @param {string} tag @param {*} data @returns {{ tag: string, data: any }} */ export function makeNode(tag: string, data: any): { tag: string; data: any; };