/** * Automatic Version Type Detection * * Analyzes code changes to automatically determine semantic version type * without AI - using deterministic rules based on AST analysis */ import { ChangesetAnalysis } from './analyzer'; import { Logger } from '../utils/logger'; export type VersionType = 'major' | 'minor' | 'patch'; /** * Detection result with reasoning */ export interface VersionDetectionResult { versionType: VersionType; reasoning: string; confidence: 'high' | 'medium' | 'low'; } /** * Detects version type from analyzed changes */ export declare class VersionTypeDetector { private logger; constructor(logger: Logger); /** * Detect version type from changes */ detect(analysis: ChangesetAnalysis): VersionDetectionResult; /** * Check if a modification is potentially breaking * * Heuristics: * - Signature got shorter (parameters removed) * - Required parameters changed position * - Return type changed significantly */ private isPotentiallyBreaking; /** * Check if a modification adds new features * * Heuristics: * - Signature got longer (new optional parameters) * - New methods added to class */ private isFeatureAddition; /** * Detect fundamental type changes in signatures */ private detectTypeChanges; /** * Build detailed description with bullet points */ private buildDetailedDescription; /** * Generate a human-readable summary */ generateSummary(analysis: ChangesetAnalysis): string; } //# sourceMappingURL=version-detector.d.ts.map