import { AgentRegistry } from '../agents/agent-registry'; import { FileSystemScanner } from '../scanners/file-system-scanner'; import { AgentResult, AgentExecutionOptions } from '../types/agent.types'; import type { ScanResult } from '../types/scanner.types'; export interface IterativeRefinementConfig { enabled: boolean; maxIterations: number; clarityThreshold: number; minImprovement: number; } export interface OrchestratorOptions { maxTokens?: number; maxCostDollars?: number; parallel?: boolean; userPrompt?: string; depth?: 'quick' | 'normal' | 'deep' | 1 | 2 | 3; iterativeRefinement?: IterativeRefinementConfig; agentOptions?: AgentExecutionOptions; onAgentProgress?: (current: number, total: number, agentName: string) => void; runName?: string; retrievalStrategy?: 'vector' | 'graph' | 'hybrid' | 'smart'; embeddingsProvider?: 'local' | 'openai' | 'google'; languageConfig?: { custom?: Record; componentPatterns?: Record; keywords?: Record; frameworks?: string[]; }>; overrides?: Record; }>; }; [key: string]: any; } export interface C4ModelOutput { projectName: string; timestamp: Date; c4Model: { context: any; containers: any; components: any; }; plantUMLModel: { context: string; containers: string; components: string; }; scanResult: ScanResult; agentResults: Map; metadata: { generationDuration: number; agentsExecuted: string[]; totalFiles: number; totalDirectories: number; languages: string[]; }; } export declare class C4ModelOrchestrator { private readonly agentRegistry; private readonly scanner; private logger; private workflow; private checkpointer; private llmService; private config; constructor(agentRegistry: AgentRegistry, scanner: FileSystemScanner, config?: any); private getDepthConfig; private stripMarkdownCodeBlocks; generateC4Model(projectPath: string, options?: OrchestratorOptions): Promise; private buildWorkflow; private queryAgentsWithQuestions; private generateC4Context; private generateC4Containers; private generateC4Components; private aggregateC4Model; private generatePlantUML; private sanitizePlantUMLId; private extractAnalysisInsights; private getSampleFileContents; private generateContextPlantUML; private generateContainersPlantUML; private generateComponentsPlantUML; } //# sourceMappingURL=c4-model-orchestrator.d.ts.map