/**
 * Types for the context system evaluation.
 *
 * The scorecard is the unit of evaluation — one per commit. Questions are the
 * rubric, defined in rubric.ts and answered by the eval agent (evaluator).
 */
export interface RubricQuestion {
    id: string;
    question: string;
    guidance: string;
}
export interface EvalQuestion {
    id: string;
    question: string;
    answer: "yes" | "no" | "partial";
    severity: "info" | "warning" | "critical";
    evidence: string;
    finding: string;
}
export interface EvalUsage {
    costUsd: number;
    inputTokens: number;
    outputTokens: number;
    cacheCreationTokens: number;
    cacheReadTokens: number;
    durationMs: number;
}
export interface EvalScorecard {
    version: 1;
    timestamp: string;
    mode: "eval" | "baseline";
    changeId: string;
    projectGroup: string;
    questions: EvalQuestion[];
    summary: string;
    graphitiWrites: number;
    telemetryPosted: boolean;
    usage?: EvalUsage;
}
export interface EvalErrorEntry {
    version: 1;
    timestamp: string;
    mode: "eval" | "baseline";
    changeId: string;
    error: true;
    message: string;
}
export type EvalLogEntry = EvalScorecard | EvalErrorEntry;
export declare function isScorecard(entry: EvalLogEntry): entry is EvalScorecard;
export declare function isErrorEntry(entry: EvalLogEntry): entry is EvalErrorEntry;
