export type MarkdownInline = { readonly type: 'text'; readonly value: string; } | { readonly type: 'strong' | 'emphasis' | 'strike' | 'code'; readonly value: string; } | { readonly type: 'link'; readonly value: string; readonly href: string; }; export type MarkdownBlock = { readonly type: 'heading'; readonly level: number; readonly content: MarkdownInline[]; } | { readonly type: 'paragraph' | 'quote'; readonly content: MarkdownInline[]; } | { readonly type: 'list'; readonly ordered: boolean; readonly items: ReadonlyArray<{ readonly content: MarkdownInline[]; readonly checked?: boolean; }>; } | { readonly type: 'code'; readonly language: string; readonly value: string; readonly closed: boolean; } | { readonly type: 'table'; readonly header: ReadonlyArray; readonly rows: ReadonlyArray>; } | { readonly type: 'rule'; }; export type CodeTokenKind = 'plain' | 'comment' | 'string' | 'number' | 'keyword' | 'literal'; export interface CodeToken { readonly kind: CodeTokenKind; readonly value: string; } export declare function isSafeMarkdownHref(href: string): boolean; export declare function parseMarkdownInline(value: string): MarkdownInline[]; export declare function parseMarkdown(value: string): MarkdownBlock[]; export declare function highlightCodeLine(line: string, language?: string): CodeToken[]; //# sourceMappingURL=markdown.d.ts.map