import { MdConfig } from './ExtensionMarkdown.js'; import { Attrs, Mark, MarkType, Node, NodeType, Schema } from 'prosemirror-model'; import { Telemetry } from '@kerebron/editor/Telemetry'; import type { Token } from './types.js'; export declare class MarkdownParseState { readonly schema: Schema; readonly tokenHandlers: { [token: string]: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void; }; stack: { type: NodeType; attrs: Attrs | null; content: Node[]; marks: readonly Mark[]; }[]; constructor(schema: Schema, tokenHandlers: { [token: string]: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void; }); top(): { type: NodeType; attrs: Attrs | null; content: Node[]; marks: readonly Mark[]; }; push(elt: Node): void; addText(text: string): void; openMark(mark: Mark): void; closeMark(mark: MarkType): void; parseTokens(toks: Token[]): void; addNode(type: NodeType, attrs: Attrs | null, content?: readonly Node[]): Node | null; openNode(type: NodeType, attrs: Attrs | null): void; closeNode(): Node | null; importNodes(nodes: readonly Node[]): void; } export interface ParseSpec { node?: string; block?: string; mark?: string; custom?: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void; attrs?: Attrs | null; getAttrs?: (token: Token, tokenStream: Token[], index: number) => Attrs | null; noCloseToken?: boolean; ignore?: boolean; } export declare class MarkdownParser { readonly schema: Schema; readonly config: MdConfig; readonly tokens: { [name: string]: ParseSpec; }; tokenHandlers: { [token: string]: (stat: MarkdownParseState, token: Token, tokens: Token[], i: number) => void; }; tokenizer: { parse: (source: string) => Array; }; telemetry: Telemetry; constructor(schema: Schema, config: MdConfig, tokens: { [name: string]: ParseSpec; }); parse(text: string): Node; } //# sourceMappingURL=MarkdownParser.d.ts.map