import { QualityIntelligence as QI } from "@oscharko-dev/keiko-contracts";
import type { QualityIntelligenceModelRoutedTestDesignDeps } from "./modelRoutedTestDesign.js";
import type { QualityIntelligenceIngestedAtom } from "./modelRoutedTestDesign.js";
import type { QualityIntelligenceRunSummary, QualityIntelligenceProvenanceRefs } from "./runtimeCommon.js";
export interface ScopedRegenerationInput {
    /** Fresh run id for the regenerated run (must be different from the original). */
    readonly newRunId: string;
    readonly requestedAt: string;
    /** All envelopes from re-ingesting the current sources. */
    readonly envelopes: readonly QI.QualityIntelligenceSourceEnvelope[];
    /** NARROWED to atoms belonging to stale candidates only. */
    readonly ingestedAtoms: readonly QualityIntelligenceIngestedAtom[];
    readonly provenanceRefs: QualityIntelligenceProvenanceRefs;
}
export interface ScopedRegenerationResult {
    readonly summary: QualityIntelligenceRunSummary;
    /** Number of atoms that were submitted for regeneration. */
    readonly narrowedAtomCount: number;
}
/**
 * Run the model-routed test-design workflow scoped to a narrowed set of atoms. Returns the full run
 * summary plus a count of narrowed atoms for caller bookkeeping. The caller is responsible for
 * merging the regenerated candidates with preserved-fresh candidates from the original run.
 */
export declare function runScopedRegeneration(input: ScopedRegenerationInput, deps: QualityIntelligenceModelRoutedTestDesignDeps): Promise<ScopedRegenerationResult>;
//# sourceMappingURL=scopedRegeneration.d.ts.map