import type { MindMapPlugin } from "../plugins/types"; export type InlineToken = { type: "text"; content: string; } | { type: "bold"; content: string; } | { type: "italic"; content: string; } | { type: "strikethrough"; content: string; } | { type: "code"; content: string; } | { type: "highlight"; content: string; } | { type: "link"; text: string; url: string; } | { type: "image"; alt: string; url: string; } | { type: "latex-inline"; content: string; } | { type: "latex-block"; content: string; }; /** * Parse inline markdown text into tokens. * Priority: image > link > code > bold > italic > strikethrough > highlight * Plugins can inject additional patterns (e.g. LaTeX $...$). */ export declare function parseInlineMarkdown(text: string, plugins?: MindMapPlugin[]): InlineToken[]; /** * Strip all inline markdown markers, returning plain text for measurement. */ export declare function stripInlineMarkdown(text: string): string; export declare const INLINE_IMAGE_WIDTH = 80; export declare const INLINE_IMAGE_HEIGHT = 48; export interface TokenLayout { token: InlineToken; x: number; width: number; } /** * Compute per-token layout (x offset and width) for SVG rendering. */ export declare function computeTokenLayouts(tokens: InlineToken[], fontSize: number, fontWeight: number, fontFamily: string): TokenLayout[]; declare function escapeXml(str: string): string; export { escapeXml }; export declare function hasInlineImage(text: string): boolean; /** * Build SVG elements string for a node's formatted text content. * Returns background rects + text element + remark indicator as SVG string. * All styles are inline SVG attributes — no CSS dependencies. */ export declare function buildSvgNodeTextString(text: string, fontSize: number, fontWeight: number, fontFamily: string, textColor: string, taskStatus: string | undefined, remarkText: string | undefined, plugins?: MindMapPlugin[], highlightTextColor?: string, highlightBgColor?: string, pngSafe?: boolean): string; /** * Build SVG string for a single line of inline-markdown-formatted text at a given y coordinate. * Used by plugins (e.g. multi-line) to render additional text lines during export. */ export declare function buildSvgTextLineString(text: string, fontSize: number, fontWeight: number, fontFamily: string, textColor: string, y: number, plugins?: MindMapPlugin[], highlightTextColor?: string, highlightBgColor?: string, opacity?: number): string;