/** * Split Suggestion Generation & Reporting (Phase 4.2 of #90) * * Provides: * - Multiple split strategy options (connectivity, semantic, hybrid) * - Detailed analysis reports * - Anti-pattern detection * - Opportunity identification */ import type { TemplateDocument } from '../types/template.js'; import type { DependencyGraph } from './graph.js'; import { type ResourceCluster } from './clustering.js'; import type { CrossStackDependency } from './split.js'; /** * A complete split suggestion with multiple options. */ export interface SplitSuggestion { /** Primary recommended split */ recommended: SplitOption; /** Alternative split strategies */ alternatives: SplitOption[]; /** Analysis of why split is needed */ analysis: SplitAnalysis; } /** * One possible way to split the template. */ export interface SplitOption { strategy: string; clusters: ResourceCluster[]; crossStackDeps: CrossStackDependency[]; deploymentOrder: string[]; /** Overall quality score for this option */ overallScore: number; /** Estimated deployment time in minutes */ estimatedDeploymentMin: number; } /** * Why the template needs splitting. */ export interface SplitAnalysis { exceedsLimits: boolean; resourceOverage: number; outputOverage: number; sizeOverage: number; /** Detected anti-patterns (e.g., monolithic, spaghetti deps) */ antiPatterns: string[]; /** Opportunities for improvement */ opportunities: string[]; } /** * Generate split suggestions with multiple strategies. */ export declare function generateSplitSuggestions(template: TemplateDocument, graph: DependencyGraph): SplitSuggestion; /** * Rank split options by quality score. */ export declare function rankSuggestions(options: SplitOption[]): SplitOption[]; /** * Format detailed report with charts and recommendations. */ export declare function formatDetailedReport(suggestion: SplitSuggestion): string; //# sourceMappingURL=suggestions.d.ts.map