/**
 * Severity Classifier
 *
 * Classifies discrepancy severity to determine appropriate action.
 * Conservative by default: when uncertain, classify higher severity.
 *
 * @module core/discrepancy/severity-classifier
 */
import { Logger } from '../../utils/logger.js';
/**
 * Severity levels for discrepancies.
 */
export type DiscrepancySeverity = 'trivial' | 'minor' | 'major' | 'breaking';
/**
 * Category of change.
 */
export type ChangeCategory = 'added' | 'removed' | 'modified';
/**
 * Type of item that changed.
 */
export type ItemType = 'api-route' | 'function-signature' | 'type-definition';
/**
 * Details about a change for classification.
 */
export interface ChangeDetails {
    category: ChangeCategory;
    itemType: ItemType;
    specValue: string;
    codeValue: string;
    description?: string;
}
/**
 * Classification result with reasoning.
 */
export interface ClassificationResult {
    severity: DiscrepancySeverity;
    reason: string;
    confidence: 'high' | 'medium' | 'low';
}
/**
 * Configuration for severity classification.
 */
export interface SeverityClassifierConfig {
    /** Be conservative: when uncertain, classify higher */
    conservative?: boolean;
    /** Treat all removals as breaking */
    strictRemovals?: boolean;
}
/**
 * Classifies discrepancy severity based on change type and details.
 */
export declare class SeverityClassifier {
    private readonly logger;
    private readonly config;
    constructor(options?: {
        logger?: Logger;
        config?: SeverityClassifierConfig;
    });
    /**
     * Classify the severity of a discrepancy.
     */
    classify(change: ChangeDetails): ClassificationResult;
    private classifyRemoval;
    private classifyAddition;
    private classifyModification;
    private isTrivialChange;
    private normalize;
    private isBreakingSignatureChange;
    private hasFewerParams;
    private getBreakingChangeReason;
    private classifyApiRouteChange;
    private classifyFunctionChange;
    private extractPath;
    private isVersionChange;
    private isPathStructureChange;
    /**
     * Map severity to recommended action.
     */
    getRecommendation(severity: DiscrepancySeverity): 'auto-update' | 'review-required' | 'notify' | 'alert';
}
//# sourceMappingURL=severity-classifier.d.ts.map