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] …` → `<val-notes-box prefix="Nota">`).
 *
 * 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<CalloutType, string>;
/** 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<ArticleMetadata> {
    /**
     * 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;
