import type { ChatMessage } from "../types.js";
import type { OpenAiToolCall } from "../../orchestration/index.js";
export interface VariantBlockedToolCall {
    call: OpenAiToolCall;
    failCount: number;
    error: string;
}
export declare function splitVariantToolCalls(calls: readonly OpenAiToolCall[], toolFailureCounts: ReadonlyMap<string, number>): {
    allowed: OpenAiToolCall[];
    blocked: VariantBlockedToolCall[];
};
export declare function variantBlockNudge(): ChatMessage;
export declare function recordToolFailureResult(input: {
    toolFailureCounts: Map<string, number>;
    toolName: string;
    ok: boolean;
    softEmpty: boolean;
}): void;
export declare function newVariantFailureNudges(input: {
    toolFailureCounts: ReadonlyMap<string, number>;
    snapshot: ReadonlyMap<string, number>;
}): ChatMessage[];
