import type { SpecSplitSuggestion, SplitAnalysisInput, ExperienceLevel, SpecSizeAnalysis, SplitProposal, Spec } from '../types/index.js';
/**
 * Analyze a spec and determine if it should be split into smaller specs.
 * Returns null if the spec is appropriately sized.
 */
export declare function analyzeSplit(input: SplitAnalysisInput, specId: string): SpecSplitSuggestion | null;
/**
 * Detect if a spec exceeds size thresholds.
 */
export declare function detectOversizedSpec(criteriaCount: number, moduleCount: number, estimatedHours: number): boolean;
/**
 * Format split suggestion for display based on experience level.
 */
export declare function formatSplitSuggestion(suggestion: SpecSplitSuggestion, level: ExperienceLevel): string;
/**
 * Analyzes a spec to determine if it should be split.
 * Returns a SpecSizeAnalysis with reasons and suggested splits.
 */
export declare function analyzeSpecSize(spec: Spec): SpecSizeAnalysis;
/**
 * Executes the split of a spec into child specs.
 * Returns the list of child spec objects to be persisted by the caller.
 */
export declare function buildChildSpecs(original: Spec, proposals: SplitProposal[], nextIdFn: (index: number) => string): Spec[];
//# sourceMappingURL=spec-splitter.d.ts.map