import { type ArkmeHashTagRange } from './hashtag.js'; export type ArkmeTextFormat = 'plain' | 'markdown'; /** Never infer the format from punctuation in a historical note. */ export declare function arkmeRecordTextFormat(value: unknown): ArkmeTextFormat; interface MarkdownNode { type: string; url?: string; alt?: string | null | undefined; value?: string; children?: MarkdownNode[]; data?: { hName?: string | undefined; hProperties?: Record | undefined; } | undefined; position?: { start: { offset?: number | undefined; }; end: { offset?: number | undefined; }; } | undefined; } export declare function arkmeMarkdownTree(source: string): MarkdownNode; export declare function arkmeEscapeMarkdownText(text: string): string; /** The editor must also retain unsupported constructs on paste/import, before Marked parses HTML. */ export declare function arkmeMarkdownEditorSource(source: string, articleImages?: boolean): string; /** UTF-16 source ranges, including escaped punctuation, are kept separate from editor positions. */ export declare function arkmeMarkdownTextRanges(source: string): { start: number; end: number; }[]; export declare function arkmeMarkdownHashTagRanges(source: string): ArkmeHashTagRange[]; /** A display/search summary only. The canonical body is always the original Markdown. */ export declare function arkmeMarkdownPlainText(source: string): string; /** HTML and inline images remain visible source; neither becomes an active browser element. */ export declare function arkmeArticleImageReference(value: string): boolean; export declare function arkmeLiteralMarkdownNodes(options?: { articleImages?: boolean; localArticleImages?: boolean; }): (tree: MarkdownNode, file: { value?: unknown; }) => void; /** Tag activation follows source text nodes, so escaped hashes and code never become links. */ export declare function arkmeMarkdownBusinessNodes(options?: { mentions?: readonly { startIndex: number; length: number; }[]; }): (tree: MarkdownNode, file: { value?: unknown; }) => void; export {}; //# sourceMappingURL=markdown.d.ts.map