import { ADRDecision } from '../types.js'; export declare class ADREngine { private projectDir; private llmClient; private adrDir; constructor(projectDir: string, llmClient: any); /** * Load all ADR markdown files from the ADR directory. * Returns parsed ADRDecision objects sorted by ID. */ loadADRs(): Promise; /** * Write an ADR to the docs/adr/ directory in standard markdown format. * Filename pattern: NNNN-kebab-case-title.md */ saveADR(adr: ADRDecision): Promise; /** * Analyse file changes to detect architectural decisions. * Uses heuristic rules, and optionally an LLM client for deeper analysis. */ detectDecisions(changes: Array<{ path: string; diff?: string; }>): Promise; /** * Format an ADRDecision as a standard ADR markdown document. */ private formatADRMd; /** * Parse a markdown ADR file into an ADRDecision object. */ private parseADR; /** * Get the next sequence number for ADR filenames. */ private getNextNumber; /** * Heuristic: detect framework or core library changes. */ private looksLikeFrameworkChange; /** * Heuristic: detect introduction of new architectural patterns. */ private looksLikeNewPattern; /** * Heuristic: detect significant refactoring (large diffs with structural changes). */ private looksLikeSignificantRefactor; /** * Use the LLM client to analyse diffs and detect architectural decisions. */ private detectWithLLM; /** * Convert a title string to a kebab-case slug for filenames. */ private slugify; } //# sourceMappingURL=adr-engine.d.ts.map