import { ArticleMetadata } from '../../components/organisms/article/types'; export type CalloutType = 'NOTE' | 'TIP' | 'INFO' | 'WARNING' | 'CAUTION' | 'IMPORTANT'; /** * Localized label per callout kind. Used as the prefix shown inside the * resulting note element (e.g. `> [!NOTE] …` → ``). * * Defaults to Spanish for back-compat. Pass a different map per locale when * parsing translated documents so the prefix matches the body language. */ export type CalloutLabels = Record; /** Built-in label sets for the three platform locales. */ export declare const CALLOUT_LABELS: Record<'es' | 'en' | 'pt', CalloutLabels>; /** Optional configuration for the parser. */ export interface ParseMarkdownArticleOptions extends Partial { /** * Locale used to pick built-in callout labels. Convenience shortcut so * callers don't have to spread `CALLOUT_LABELS.en` themselves. Ignored * when `calloutLabels` is provided explicitly. */ locale?: 'es' | 'en' | 'pt'; /** Override every callout label individually. Takes precedence over `locale`. */ calloutLabels?: CalloutLabels; } /** * Pure Markdown → ArticleMetadata parser. No Angular deps — usable from Node scripts * (build-time generation) and from the Angular `MarkdownArticleParserService` wrapper. * * Supported syntax: * - Headings (#, ##, ### …) → title / subtitle * - Paragraphs → paragraph (with `processLinks` + `allowPartialBold`) * - Lists (-, *, 1.) → unordered / ordered list (- [ ] / - [x] for checklist) * - Blockquotes (>) → quote, with GitHub callouts `> [!NOTE|TIP|INFO|WARNING|CAUTION|IMPORTANT]` mapped to notes * - Code fences (```lang) → code * - Box-drawing ASCII art (┌┐└┘│─) auto-wrapped as code * - Tables → flattened into paragraphs with bold keys * - Horizontal rules (---, ***, ___) → separator */ export declare function parseMarkdownArticle(markdown: string, options?: ParseMarkdownArticleOptions): ArticleMetadata;