import type { ModelCapability, NormalizedResponse } from "@oscharko-dev/keiko-contracts";
import type { QualityIntelligenceBudgetState } from "./budget.js";
import { type QualityIntelligenceUntrustedEvidenceInput } from "./promptSegmentation.js";
import { type QualityIntelligenceReplayCachePort } from "./replayCache.js";
import type { QualityIntelligenceTaskProfile } from "./taskProfiles.js";
import type { ModelProviderConfig, ProviderAdapter } from "../types.js";
export interface QualityIntelligenceDispatcherArgs {
    readonly profile: QualityIntelligenceTaskProfile;
    readonly instruction: string;
    readonly evidence: readonly QualityIntelligenceUntrustedEvidenceInput[];
    readonly model: ModelCapability;
    readonly providerConfig: ModelProviderConfig;
    readonly port: ProviderAdapter;
    readonly cache: QualityIntelligenceReplayCachePort<NormalizedResponse>;
    readonly budget: QualityIntelligenceBudgetState;
    readonly signal?: AbortSignal | undefined;
}
export interface QualityIntelligenceDispatcherResult {
    readonly response: NormalizedResponse;
    readonly budget: QualityIntelligenceBudgetState;
    readonly cacheHit: boolean;
}
export declare function dispatchQualityIntelligenceRequest(args: QualityIntelligenceDispatcherArgs): Promise<QualityIntelligenceDispatcherResult>;
//# sourceMappingURL=dispatcher.d.ts.map