/**
 * Remark plugin for Legal Markdown cross-references
 *
 * This plugin processes internal cross-references in Legal Markdown documents
 * using AST-based processing to avoid text contamination issues. It handles:
 * - Header extraction with |key| syntax (l. **Title** |key|)
 * - Section numbering based on frontmatter formats
 * - Cross-reference resolution throughout the document
 * - Integration with field tracking for highlighting
 *
 * Architecture:
 * 1. First pass: Extract cross-reference definitions from headers
 * 2. Generate section numbers based on legal numbering formats
 * 3. Second pass: Replace |key| references with section numbers
 * 4. Integrate with field tracker for highlighting support
 *
 * @example
 * ```typescript
 * import { unified } from 'unified';
 * import remarkParse from 'remark-parse';
 * import remarkCrossReferences from './cross-references';
 *
 * const processor = unified()
 *   .use(remarkParse)
 *   .use(remarkCrossReferences, { metadata: frontmatterData });
 *
 * const result = await processor.process(content);
 * ```
 *
 * @module
 */
import type { Plugin } from 'unified';
import type { Root } from 'mdast';
/**
 * Cross-reference definition extracted from headers
 */
interface CrossReferenceDefinition {
    key: string;
    level: number;
    sectionNumber: string;
    sectionText: string;
    headerText: string;
    position?: {
        line: number;
        column: number;
    };
}
/**
 * Plugin options for cross-reference processing
 */
interface CrossReferenceOptions {
    /** Document metadata containing level formats and other data */
    metadata: Record<string, any>;
    /** Enable debug logging */
    debug?: boolean;
    /** Enable field tracking with highlighting during AST processing */
    enableFieldTracking?: boolean;
}
/**
 * Remark plugin for processing cross-references in Legal Markdown documents
 */
declare const remarkCrossReferences: Plugin<[CrossReferenceOptions], Root>;
export default remarkCrossReferences;
export type { CrossReferenceOptions, CrossReferenceDefinition };
//# sourceMappingURL=cross-references.d.ts.map