import type { SymbolScenario } from './config.js'; import { type StepMetric } from './metrics.js'; export interface ToolRunner { query: (params: Record) => Promise; context: (params: Record) => Promise; impact: (params: Record) => Promise; cypher: (params: Record) => Promise; } export interface RetrievalStepResult extends StepMetric { input: Record; output: any; } export interface SymbolScenarioResult { symbol: string; steps: RetrievalStepResult[]; assertions: { pass: boolean; failures: string[]; }; } export interface Phase5ConfidenceCalibrationCounts { totalEvaluated: number; falseNegativeCount: number; falseConfidenceCount: number; lowConfidenceHintCovered: number; lowConfidenceCount: number; fallbackCovered: number; } export interface Phase5BaselineSnapshot extends Partial { artifactPath: string; gitCommit: string; sha256: string; } export interface Phase5ConfidenceCalibrationSummary { lowConfidenceHintCoverage: number; falseConfidenceFailures: number; falseNegativeFallbackCoverage: number; falseNegativeRateBaselinePct: number; falseNegativeRateCurrentPct: number; falseNegativeRateDeltaPct: number; falseConfidenceRateBaselinePct: number; falseConfidenceRateCurrentPct: number; falseConfidenceRateDeltaPct: number; baseline: { artifactPath: string; gitCommit: string; sha256: string; }; } export declare function containsPlaceholderLeak(value: unknown): boolean; export declare function summarizePhase5ConfidenceCalibration(input: { current: Phase5ConfidenceCalibrationCounts; baseline: Phase5BaselineSnapshot; }): Phase5ConfidenceCalibrationSummary; export declare function runSymbolScenario(runner: ToolRunner, scenario: SymbolScenario, repo?: string): Promise;