import { type ClassifiedRun, type KernelStores } from "../../core/src/classify/classifier.js";
import { type CapabilityProfile } from "../../core/src/sdk/capability.js";
import { type Detector } from "../../core/src/sdk/detector.js";
export type WitnessPlanItem = {
    kind: "non-vacuity";
    selection: {
        matched: number;
        expectedEmpty: boolean;
    };
} | {
    kind: "perturbation";
    probe: {
        applied: boolean;
        observedAtBoundary: boolean;
    };
} | {
    kind: "positive-control";
    check: {
        ownedItemObserved: boolean;
    };
} | {
    kind: "calibration";
    knownBad: {
        fired: boolean;
        profileFeature: string;
    };
} | {
    kind: "precondition";
    preconditions: {
        name: string;
        proven: boolean;
    }[];
};
export type WitnessPlan = WitnessPlanItem[];
export type AdapterSurface = {
    id: string;
    kind: string;
    inputs?: string[];
    load(): Promise<unknown>;
    witnesses: WitnessPlan;
};
export type UniversalRunPlan = {
    detectors: Detector<unknown, unknown>[];
    surfaces: AdapterSurface[];
    context: {
        seed: string;
        clockStart: string;
        capabilities: CapabilityProfile;
    };
    stores: KernelStores;
    runId: string;
};
export declare function runUniversal(plan: UniversalRunPlan): Promise<ClassifiedRun>;
//# sourceMappingURL=runner.d.ts.map