import { ModuleContext } from './adr-context-builder'; import { Adr } from '../models/adr'; import { ArchitecturalPattern } from './semantic-pattern-matcher'; /** * ADR Reasoning result from LLM */ export interface AdrReasoning { problems: string[]; decision: string; rationale: string; alternatives: string[]; tradeoffs: { positive: string[]; negative: string[]; }; refactoring_recommendations?: string[]; } /** * Service for reconstructing "Why" (rationale) from module context using LLM. * Uses OpenAI API to generate structured reasoning about architectural decisions. */ export declare class AdrReasoningService { private openai; private readonly defaultModel; private readonly temperature; constructor(apiKey?: string); /** * Checks if LLM is available. */ isAvailable(): boolean; /** * Reconstructs complete reasoning (problems, decision, rationale, alternatives, trade-offs). */ reconstructWhy(context: ModuleContext, similarAdrs: Adr[], patterns: ArchitecturalPattern[], complexity?: 'simple' | 'medium' | 'complex'): Promise; /** * Reconstructs problems that this module solves. */ reconstructProblems(context: ModuleContext, similarAdrs: Adr[]): Promise; /** * Reconstructs decision with rationale. */ reconstructDecision(context: ModuleContext, similarAdrs: Adr[], patterns: ArchitecturalPattern[]): Promise<{ decision: string; rationale: string; }>; /** * Reconstructs alternatives that were considered. */ reconstructAlternatives(context: ModuleContext, similarAdrs: Adr[]): Promise; /** * Builds structured prompt for reasoning. */ private buildReasoningPrompt; /** * Parses module documentation markdown to extract structured information. */ private parseModuleDocumentation; /** * Validates reasoning structure and checks for generic phrases. */ private validateReasoning; } //# sourceMappingURL=adr-reasoning-service.d.ts.map