import { type RunScore, type RunScoreWeights } from './run-score';
import type { Artifact, BudgetLedgerEntry, Run, Span, TraceEvent, TraceStore } from './trace';
export interface RunTrace {
    run: Run;
    spans: Span[];
    events: TraceEvent[];
    artifacts: Artifact[];
    budget: BudgetLedgerEntry[];
}
export interface RunCriticOptions {
    weights?: Partial<RunScoreWeights>;
    driftPatterns?: RegExp[];
}
export declare class RunCritic {
    private readonly weights?;
    private readonly driftPatterns;
    constructor(options?: RunCriticOptions);
    score(store: TraceStore, runId: string): Promise<RunScore>;
    scoreTrace(trace: RunTrace): RunScore;
    rank(score: RunScore): number;
    private isDrift;
}
//# sourceMappingURL=run-critic.d.ts.map