import type { ONICheckpointer } from "../../types.js"; export interface ExperimentOptions { checkpointer: ONICheckpointer; threadId: string; hypothesis: string; applyChanges: () => Promise; measureMetric: () => Promise; timeBudget: number; threshold: number; /** Whether the metric should be minimized or maximized. Defaults to "minimize". */ direction?: "minimize" | "maximize"; } export interface ExperimentResult { hypothesis: string; success: boolean; metricBefore: number; metricAfter: number | null; rolledBack: boolean; reason: string; } export declare class ExperimentalExecutor { /** * Run an experiment with automatic rollback if the metric regresses. * * 1. Snapshot current checkpoint * 2. Apply proposed changes * 3. Measure metric * 4. If improved by >= threshold: keep changes * 5. If regressed: restore checkpoint */ runExperiment(opts: ExperimentOptions): Promise; private _rollback; private _timeout; } //# sourceMappingURL=experimental-executor.d.ts.map