import { QualityIntelligence as QI, type ModelCapability, type NormalizedResponse } from "@oscharko-dev/keiko-contracts";
import { type PolicyProfile } from "@oscharko-dev/keiko-quality-intelligence";
import { type QualityIntelligenceBudgetState, type QualityIntelligenceDispatcherArgs, type QualityIntelligenceDispatcherResult, type QualityIntelligenceReplayCachePort } from "@oscharko-dev/keiko-model-gateway";
import { type QualityIntelligenceLocalStore } from "@oscharko-dev/keiko-evidence";
import { type QualityIntelligenceClock, type QualityIntelligenceProvenanceRefs, type QualityIntelligenceRunEventSink, type QualityIntelligenceRunSummary } from "./runtimeCommon.js";
import type { QualityIntelligenceWorkflowLimits } from "./descriptors.js";
export type { QualityIntelligenceClock, QualityIntelligenceProvenanceRefs, QualityIntelligenceRunEventSink, QualityIntelligenceRunStatus, QualityIntelligenceRunSummary, } from "./runtimeCommon.js";
/**
 * Optional model-routed dispatch surface. When omitted, judges/refinements skip the model call and
 * fall through to the pure-domain validators only. When supplied, the dispatcher is invoked through
 * the gateway seam from #279.
 */
export interface QualityIntelligenceDispatchPort {
    readonly dispatch: (args: QualityIntelligenceDispatcherArgs) => Promise<QualityIntelligenceDispatcherResult>;
}
export interface QualityIntelligenceModelRoutedDeps {
    readonly dispatch: QualityIntelligenceDispatchPort;
    readonly model: ModelCapability;
    readonly providerConfig: QualityIntelligenceDispatcherArgs["providerConfig"];
    readonly port: QualityIntelligenceDispatcherArgs["port"];
    readonly cache: QualityIntelligenceReplayCachePort<NormalizedResponse>;
    readonly initialBudget: QualityIntelligenceBudgetState;
}
export interface QualityIntelligenceRunEntryDeps {
    readonly sink: QualityIntelligenceRunEventSink;
    readonly evidenceStore: QualityIntelligenceLocalStore;
    readonly clock?: QualityIntelligenceClock | undefined;
    readonly signal?: AbortSignal | undefined;
    readonly limits?: QualityIntelligenceWorkflowLimits | undefined;
    readonly policyProfile?: PolicyProfile | undefined;
    readonly modelRouted?: QualityIntelligenceModelRoutedDeps | undefined;
}
export interface QualityIntelligenceTestDesignInput {
    readonly plan: QI.QualityIntelligenceRunPlan;
    readonly envelopes: readonly QI.QualityIntelligenceSourceEnvelope[];
    readonly atoms: readonly QI.QualityIntelligenceEvidenceAtom[];
    readonly provenanceRefs: QualityIntelligenceProvenanceRefs;
}
export interface QualityIntelligenceCoverageReviewInput {
    readonly plan: QI.QualityIntelligenceRunPlan;
    readonly atoms: readonly QI.QualityIntelligenceEvidenceAtom[];
    readonly candidates: readonly QI.QualityIntelligenceTestCaseCandidate[];
    readonly provenanceRefs: QualityIntelligenceProvenanceRefs;
}
export interface QualityIntelligenceValidationInput {
    readonly plan: QI.QualityIntelligenceRunPlan;
    readonly candidates: readonly QI.QualityIntelligenceTestCaseCandidate[];
    readonly provenanceRefs: QualityIntelligenceProvenanceRefs;
}
export interface QualityIntelligenceArtifactRefinementInput {
    readonly plan: QI.QualityIntelligenceRunPlan;
    readonly atoms: readonly QI.QualityIntelligenceEvidenceAtom[];
    readonly candidates: readonly QI.QualityIntelligenceTestCaseCandidate[];
    readonly provenanceRefs: QualityIntelligenceProvenanceRefs;
}
export declare function runQualityIntelligenceTestDesign(input: QualityIntelligenceTestDesignInput, deps: QualityIntelligenceRunEntryDeps): Promise<QualityIntelligenceRunSummary>;
export declare function runQualityIntelligenceCoverageReview(input: QualityIntelligenceCoverageReviewInput, deps: QualityIntelligenceRunEntryDeps): Promise<QualityIntelligenceRunSummary>;
export declare function runQualityIntelligenceValidation(input: QualityIntelligenceValidationInput, deps: QualityIntelligenceRunEntryDeps): Promise<QualityIntelligenceRunSummary>;
export declare function runQualityIntelligenceArtifactRefinement(input: QualityIntelligenceArtifactRefinementInput, deps: QualityIntelligenceRunEntryDeps): Promise<QualityIntelligenceRunSummary>;
//# sourceMappingURL=runEntries.d.ts.map