/** All recognized directive types */ export type DirectiveKind = 'ref' | 'project' | 'diagram' | 'include' | 'toc' | 'glossary'; export interface Directive { /** Raw matched text, e.g. "{{ref:HAZ-001.name}}" */ raw: string; /** Character offset in the source string */ offset: number; kind: DirectiveKind; /** For ref: the element ID */ elementId?: string; /** For ref: the attribute name (name, id, layer, kind, doc, etc.) */ attribute?: string; /** For project: the dot-separated key (company, product, version, …) */ projectKey?: string; /** For diagram: the diagram/view ID */ diagramId?: string; /** For include: the relative file path */ includePath?: string; } /** * Parse all directives found in a markdown string. * Returns directives in document order. */ export declare function parseDirectives(content: string): Directive[]; /** * Replace all resolved directives in a content string. * `resolver` receives each Directive and returns its replacement string (or the * original raw text if it should be left as-is). */ export declare function applyDirectives(content: string, resolver: (d: Directive) => string): string; //# sourceMappingURL=directive-parser.d.ts.map