/** * Markdown to Substack's document format. * * Markdown is what a language model writes without being asked, so it is the * default input for every body-shaped argument in this server. Anything not * representable in Substack's schema is preserved rather than dropped, because * silently losing a paragraph is worse than rendering it plainly. * * Deliberate choices: * - a line that is only a URL becomes a real embed, not a link * - tables have no node in Substack's editor, so a GFM table is kept verbatim * in a code block where the content survives and can be reformatted * - lists nest to any depth and may mix ordered and unordered */ import { type PMDoc, type PMNode } from "./prosemirror.js"; export declare function markdownToDoc(markdown: string): PMDoc; /** * Inline markdown to text nodes with marks. * * Handled in one pass so nesting works: a link inside bold keeps both marks. */ export declare function parseInline(input: string): PMNode[];