/**
 * pipeline/readiness-report.ts
 *
 * Pure computation module for launch readiness reports.
 *
 * Combines threshold evaluation, ceiling decomposition, and gap analysis
 * into a single actionable readiness checklist for a given feature area.
 *
 * This module has NO side effects — no file I/O, no process.argv, no env vars.
 * Callers (command handlers, orchestration steps) handle I/O and pass data in.
 *
 * Exports pure functions:
 *   - generateReadinessReport()  — builds the structured report
 *   - formatReadinessMarkdown()  — renders the report as markdown
 *
 * @see docs/archive/exec-plans/scenario-matrix-implementation/phase-5-readiness-thresholds.md
 * @see docs/archive/exec-plans/eliminate-lib-layer.md
 */
import type { ThresholdConfig } from "./schemas.js";
import type { GapAnalysisReport, GapEstimate, ScoreSummary, ThresholdEvaluation, ThresholdViolation } from "./types.js";
/** A single dimension's readiness check */
export interface DimensionCheck {
    /** Dimension display name */
    dimension: string;
    /** Whether the dimension meets its threshold */
    pass: boolean;
    /** Actual score */
    score: number;
    /** Required threshold */
    threshold: number;
}
/** A historical baseline entry for trend tracking */
export interface HistoryEntry {
    /** The area's composite score at this point in time */
    score: number;
    /** Optional tag (e.g., "pre-groq-rewrite") */
    tag?: string;
    /** When this baseline was captured */
    timestamp: string;
}
/** Structured readiness report — the output of generateReadinessReport() */
export interface ReadinessReport {
    /** The feature area being evaluated */
    area: string;
    /** Ceiling decomposition data for this area */
    ceiling: {
        ceilingScore: number;
        docLift: number;
        docQualityGap: number;
        floorScore: number;
    };
    /** Per-dimension breakdown with threshold comparison */
    dimensions: DimensionCheck[];
    /** Gap analysis entries for this area (empty if no gap data) */
    gaps: GapEstimate[];
    /** Historical scores (empty unless --history was used) */
    history: HistoryEntry[];
    /** Whether the area passes all thresholds */
    pass: boolean;
    /** The area's composite score */
    score: number;
    /** The composite threshold for this area */
    threshold: number;
    /** Threshold evaluation result */
    thresholdEvaluation: ThresholdEvaluation;
    /** Violations specific to this area */
    violations: ThresholdViolation[];
}
/**
 * Format a readiness report as markdown.
 *
 * Pure function — takes a structured report and returns a markdown string.
 */
export declare function formatReadinessMarkdown(report: ReadinessReport): string;
/**
 * Generate a structured readiness report for a given feature area.
 *
 * This is a pure function — it takes all data as parameters and produces
 * a structured report. No I/O.
 */
export declare function generateReadinessReport(opts: {
    area: string;
    gapAnalysis?: GapAnalysisReport;
    history?: HistoryEntry[];
    scoreSummary: ScoreSummary;
    thresholdConfig: ThresholdConfig;
}): ReadinessReport;
