export declare enum OutputFormat { MARKDOWN = "markdown", JSON = "json", HTML = "html", CONFLUENCE = "confluence", PDF = "pdf", DOCX = "docx" } export declare enum DocumentationSection { OVERVIEW = "overview", ARCHITECTURE = "architecture", FILE_STRUCTURE = "file-structure", DEPENDENCIES = "dependencies", PATTERNS = "patterns", CODE_QUALITY = "code-quality", MODULES = "modules", APIs = "apis", DATABASE = "database", DEPLOYMENT = "deployment", TESTING = "testing", SECURITY = "security", PERFORMANCE = "performance" } export interface OutputConfig { format: OutputFormat; outputDir: string; fileName?: string; sections?: DocumentationSection[]; includeTOC?: boolean; includeDiagrams?: boolean; includeCodeSnippets?: boolean; maxSnippetLength?: number; templatePath?: string; customCSS?: string; syntaxTheme?: string; splitFiles?: boolean; includeMetadata?: boolean; } export interface DocumentationOutput { projectName: string; timestamp: Date; version: string; overview: DocumentationOverview; architecture: ArchitectureDocumentation; fileStructure: FileStructureDocumentation; dependencies: DependencyDocumentation; patterns: PatternDocumentation; codeQuality: CodeQualityDocumentation; customSections: Map; metadata: DocumentationMetadata; } export interface DocumentationOverview { description: string; primaryLanguage: string; languages: string[]; frameworks: string[]; projectType: string; keyFeatures: string[]; statistics: ProjectStatistics; } export interface ArchitectureDocumentation { style: string; patterns: string[]; components: ComponentDescription[]; relationships: ComponentRelationship[]; dataFlow: string; diagram?: string; designPrinciples: string[]; } export interface FileStructureDocumentation { rootStructure: DirectoryDescription; keyDirectories: Map; organizationStrategy: string; namingConventions: string[]; diagram?: string; } export interface DependencyDocumentation { productionDeps: DependencyInfo[]; developmentDeps: DependencyInfo[]; dependencyGraph: DependencyGraph; outdatedDeps: DependencyInfo[]; vulnerabilities: VulnerabilityInfo[]; insights: string[]; } export interface PatternDocumentation { designPatterns: PatternInstance[]; architecturalPatterns: PatternInstance[]; codePatterns: PatternInstance[]; antiPatterns: PatternInstance[]; recommendations: string[]; } export interface CodeQualityDocumentation { overallScore: number; metrics: QualityMetrics; issues: QualityIssue[]; bestPractices: string[]; improvements: ImprovementSuggestion[]; complexity: ComplexityAnalysis; } export interface CustomSection { title: string; content: string; metadata: Record; files?: Array<{ filename: string; content: string; title: string; category?: string; order?: number; mergeStrategy?: 'replace' | 'append' | 'section-update'; sectionId?: string; }>; } export interface DocumentationMetadata { generatorVersion: string; generationDuration: number; totalTokensUsed: number; agentsExecuted: string[]; configuration: Record; warnings: string[]; agentGaps?: Array<{ agentName: string; gapCount: number; clarityScore: number; missingInformation: string[]; }>; deltaAnalysisSavings?: { filesSkipped: number; estimatedTokensSaved: number; }; } export interface ProjectStatistics { totalFiles: number; totalLines: number; totalSize: number; codeFiles: number; testFiles: number; configFiles: number; } export interface ComponentDescription { name: string; type: string; description: string; responsibilities: string[]; dependencies: string[]; } export interface ComponentRelationship { from: string; to: string; type: string; description: string; } export interface DirectoryDescription { name: string; path: string; purpose: string; children: DirectoryDescription[]; } export interface DependencyInfo { name: string; version: string; description: string; license: string; isOutdated: boolean; latestVersion?: string; } export interface DependencyGraph { nodes: DependencyNode[]; edges: DependencyEdge[]; } export interface DependencyNode { id: string; name: string; version: string; type: 'direct' | 'transitive'; } export interface DependencyEdge { from: string; to: string; type: string; } export interface VulnerabilityInfo { dependency: string; severity: 'critical' | 'high' | 'medium' | 'low'; description: string; recommendation: string; } export interface PatternInstance { name: string; type: string; description: string; locations: string[]; confidence: number; examples: string[]; } export interface QualityMetrics { maintainability: number; reliability: number; security: number; testCoverage?: number; codeSmells: number; technicalDebt: string; } export interface QualityIssue { severity: 'critical' | 'major' | 'minor' | 'info'; type: string; description: string; file: string; line?: number; suggestion: string; } export interface ImprovementSuggestion { category: string; priority: 'high' | 'medium' | 'low'; description: string; impact: string; effort: string; } export interface ComplexityAnalysis { averageComplexity: number; highComplexityFiles: ComplexityFile[]; complexityDistribution: Map; } export interface ComplexityFile { file: string; complexity: number; functions: number; recommendation: string; } //# sourceMappingURL=output.types.d.ts.map