/** Per-spec effectiveness score components (all values 0-100). */
export interface SpecEffectivenessComponents {
    /** % of criteria that passed validate without rework. 0 if no validate runs. */
    adherenceRate: number;
    /** 100 if spec passed validate on first attempt, 0 otherwise. */
    firstPassSuccess: number;
    /** % of commits that occurred after validate runs vs total. 0 = no rework. */
    reworkRatio: number;
    /** How close estimated hours were to actual hours (100 = perfect). */
    estimationAccuracy: number;
    /** Penalty derived from drift event count (0 = no drift, higher = more drift). */
    driftPenalty: number;
}
/** Composite score result for a single spec. */
export interface SpecEffectivenessScore {
    specId: string;
    /** Composite score 0-100. */
    score: number;
    components: SpecEffectivenessComponents;
    /** Warnings emitted during scoring. */
    warnings: string[];
    /** Improvement suggestions when quality issues are detected. */
    suggestions: string[];
    calculatedAt: string;
}
/** Trend direction over time. */
export type EffectivenessTrend = 'improving' | 'stable' | 'declining';
/** Per-project aggregate effectiveness report. */
export interface ProjectEffectivenessReport {
    projectId: string;
    specCount: number;
    averageScore: number;
    trend: EffectivenessTrend;
    /** Sorted by score descending. */
    topSpecs: SpecScoreSummary[];
    /** Sorted by score ascending. */
    bottomSpecs: SpecScoreSummary[];
    patterns: EffectivenessPattern[];
    generatedAt: string;
}
/** Summary of a single spec's score for lists. */
export interface SpecScoreSummary {
    specId: string;
    title: string;
    score: number;
}
/** A pattern identified across multiple specs. */
export interface EffectivenessPattern {
    type: 'high-rework' | 'low-adherence' | 'estimation-drift' | 'no-validate';
    /** Number of specs exhibiting this pattern. */
    count: number;
    recommendation: string;
}
/** Input for the spec_effectiveness_score MCP tool. */
export interface SpecEffectivenessScoreInput {
    /** If provided, scores a single spec. */
    specId?: string;
    projectId?: string;
    projectPath?: string;
    /** If true, returns a project-level aggregate report. */
    aggregate?: boolean;
}
//# sourceMappingURL=spec-effectiveness.d.ts.map