import type { CorpusDisposition } from '@mmnto/totem';
/** The held-out disposition source — the live adapter in the CLI, a fake in tests. */
export interface CorpusDispositionSource {
    fetch(pr: number): Promise<CorpusDisposition>;
}
export interface FetchDispositionsOptions {
    /** Path to the wind-tunnel lock (default `.totem/spine/gate-1/windtunnel.lock.json`). */
    lockPath?: string;
    /** Gate-1 output dir (default: the lock's dir). */
    outputDir?: string;
    /** Working dir (default `process.cwd()`; injected for tests). */
    cwd?: string;
    /** Injected source (tests). In the live CLI it is built from the lock's repo. */
    source?: CorpusDispositionSource;
}
/**
 * Compute the held-out CORPUS PRs whose dispositions label firings: `heldOutPrs`
 * minus the positive/negative controls (positives are structural-TP; negatives
 * are culled — neither reads a disposition). Deterministic ascending order.
 */
export declare function corpusHeldOutPrs(split: {
    heldOutPrs: number[];
    positiveControlPrs: number[];
    negativeControlPrs: number[];
}): number[];
export declare function fetchDispositionsCommand(opts: FetchDispositionsOptions): Promise<void>;
//# sourceMappingURL=spine-fetch-dispositions.d.ts.map