import type { Assertion } from "./schema.js";
import type { AssertionResult } from "./judge.js";
import type { LlmClient } from "./llm.js";
import type { McpDependency } from "./mcp-detector.js";
export interface BatchJudgeRequest {
    evalId: string;
    assertionIdx: number;
    assertion: Assertion;
    output: string;
    mcpDeps?: McpDependency[];
}
export interface BatchJudgeOptions {
    apiKey: string;
    model?: string;
    minBatchSize?: number;
}
export declare function getPollInterval(elapsedMs: number): number;
export interface BatchCostInfo {
    batchCost: number;
    sequentialCost: number;
    savings: number;
}
export declare function calculateBatchCost(inputTokens: number, outputTokens: number, model: string): BatchCostInfo;
export declare function batchJudgeAssertions(requests: BatchJudgeRequest[], client: LlmClient, judgeClient: LlmClient, options: BatchJudgeOptions): Promise<{
    results: AssertionResult[];
    costInfo: BatchCostInfo | null;
}>;
