/** * Inline tokenizer: a markdown text run → `InlineNode[]` (nested spans). * * Precedence (highest first): backslash escapes, plugin inline extensions * (trigger-char gated), backtick code spans, images, links, angle/bare * autolinks, then emphasis (`**`/`__` strong, `*`/`_` em, `~~` del) resolved * with a delimiter-run stack, then hard breaks, then text. * * Robustness for streaming: any unmatched construct at the tail (a lone `**`, * a half-open `[text](`, an unterminated code span) degrades to literal text. * The function never throws. */ import type { InlineNode } from '../ast.js'; import { type ParserInlineExtension } from './extensions.js'; /** * Parse an inline text run into a node array. * * `extensions` add plugin-defined inline constructs at the same precedence * tier as code spans/links (after backslash escapes; opaque to the emphasis * stack). On shared trigger chars the first registered extension wins. Each * extension's `match` must be pure and streaming-safe — see * {@link ParserInlineExtension}. */ export declare function parseInline(input: string, extensions?: readonly ParserInlineExtension[]): InlineNode[]; /** Flatten inline nodes to their visible text (for image alt). */ export declare function stripFormatting(text: string): string;