/** * Wiki-Link Parser * * Parses [[...]] references from markdown files and doc-comments * in source code. Supports namespaced and bare syntax with smart * namespace inference. * * @see TRL-11 */ import type { EntityRef, RefNamespace } from './types.js'; /** * Parse all [[...]] references from a file's content. * Detects context (markdown vs doc-comment) based on file extension. */ export declare function parseFileRefs(content: string, filePath: string): EntityRef[]; /** * Parse all [[...]] references from markdown content. */ export declare function parseMarkdownRefs(content: string, filePath: string): EntityRef[]; /** * Parse [[...]] references from doc-comments in source code. * Extracts comment blocks first, then scans them for wiki-links. */ export declare function parseDocCommentRefs(content: string, filePath: string, ext?: string): EntityRef[]; interface ParsedRef { namespace: RefNamespace; target: string; anchor?: string; alias?: string; } /** * Parse the inner content of a [[...]] wiki-link. * * Supported forms: * - "namespace:target" → explicit namespace * - "namespace:target|alias" → explicit namespace + alias * - "namespace:target#anchor" → explicit namespace + anchor * - "target" → infer namespace * - "target|alias" → infer namespace + alias * - "path#anchor" → symbol ref * - "path#anchor|alias" → symbol ref + alias */ export declare function parseRefContent(raw: string): ParsedRef | null; /** * Infer the namespace from bare ref content. * * Rules (in order): * 1. TRL-\d+ pattern → issue * 2. DEC-\d+ pattern → decision * 3. Has anchor (#) → symbol * 4. Contains '/' or has known file extension → file * 5. Otherwise → null (namespace required) */ export declare function inferNamespace(target: string, anchor?: string): RefNamespace | null; export {}; //# sourceMappingURL=parser.d.ts.map