import type { CalibrationMetrics, CalibrationState, SpecType, SpecScope } from '../types/index.js';
/**
 * Calculate accuracy percentage comparing estimated vs actual hours.
 * Returns 0-100 where 100 = perfectly accurate.
 */
export declare function calculateAccuracyFromMetrics(estimated: number, actual: number): number;
/**
 * Build a CalibrationState from a list of historical metrics.
 * Calculates average accuracy and per-type/scope adjustment coefficients.
 */
export declare function buildCalibrationState(history: CalibrationMetrics[]): CalibrationState;
/**
 * Calibrate a base estimate using historical state.
 * Returns the adjusted hours, adjustment factor, and number of data points used.
 * Falls back to base hours when insufficient data (<3 specs).
 * SPEC-027: prefers per-type/scope coefficient over global '*' when available.
 */
export declare function calibrateEstimate(baseHours: number, type: SpecType, scope: SpecScope, state: CalibrationState | null): {
    adjustedHours: number;
    adjustmentFactor: number;
    dataPoints: number;
};
/**
 * Add new metrics to an existing CalibrationState, rebuilding coefficients.
 * Returns the new CalibrationState with the metrics appended.
 */
export declare function addMetricsToState(state: CalibrationState | null, metrics: CalibrationMetrics): CalibrationState;
/**
 * Build per-type coefficients from historical metrics grouped by spec type.
 * SPEC-027: enables type-specific calibration (e.g. 'feature' vs 'bugfix').
 * Returns a map of type keys to adjustment factors.
 */
export declare function buildTypeCoefficients(history: CalibrationMetrics[], typeField: string): Record<string, number>;
//# sourceMappingURL=calibrator.d.ts.map