/**
 * TestGradedScenario — a scenario whose score comes from a test suite.
 *
 * This is the SWE-bench pattern generalized. The scenario ships:
 *   - fixture data (setup instructions)
 *   - a test command the harness runs
 *   - optional assertion overrides
 *
 * The runner emits a run, delegates to SandboxHarness, records the
 * outcome, and returns a structured verdict. Consumers bind their own
 * agent execution to this contract.
 */
import type { HarnessConfig, SandboxDriver, SandboxHarnessResult } from './sandbox-harness';
import type { FailureClass, Run } from './trace/schema';
import type { TraceStore } from './trace/store';
export interface TestGradedScenario {
    id: string;
    description?: string;
    harness: HarnessConfig;
    /** Optional pass threshold in 0..1 (default 1.0 = all tests must pass). */
    passThreshold?: number;
    /** Provenance for dataset tracking. */
    datasetVersion?: string;
    /** Free-form tags (difficulty, category, etc.). */
    tags?: Record<string, string>;
}
export interface TestGradedRunOptions {
    variantId?: string;
    driver?: SandboxDriver;
    /** Metadata recorded on the Run (codeSha, promptSha, modelFingerprint, seed). */
    provenance?: Pick<Run, 'codeSha' | 'promptSha' | 'modelFingerprint' | 'seed' | 'envFingerprint'>;
}
export interface TestGradedRunResult {
    runId: string;
    scenario: TestGradedScenario;
    harness: SandboxHarnessResult;
    pass: boolean;
    score: number;
    failureClass?: FailureClass;
}
export declare function runTestGradedScenario(scenario: TestGradedScenario, store: TraceStore, options?: TestGradedRunOptions): Promise<TestGradedRunResult>;
//# sourceMappingURL=test-graded-scenario.d.ts.map