import type { Artifact, BatchEvaluationReport, EvaluationReport, JobStore, ProgressCallback } from '../types/index.js';
interface RunSingleEvaluationOptions {
    samplesPath: string;
    skillDir: string;
    artifacts: Artifact[];
    model: string;
    judgeModel: string;
    outputDir: string | null;
    noJudge: boolean;
    concurrency: number;
    timeoutMs?: number;
    noCache: boolean;
    executorName: string;
    judgeExecutorName?: string;
    jobStore: null;
    persistJob: false;
    onProgress: ProgressCallback | null;
    skipConnectivity: boolean;
    /** --skip-doctor escape hatch (forwarded to per-skill runEvaluation). */
    skipDoctor?: boolean;
    lang?: 'zh' | 'en';
    mcpConfig?: string;
    verbose: boolean;
    runId?: string;
    /** Forwarded to grade(); each sample x dimension is judged N times. Default 1. */
    judgeRepeat?: number;
    /** Forwarded to pipeline; >= 2 entries triggers multi-judge ensemble mode. */
    judgeModels?: import('../types/index.js').JudgeConfig[];
    /** length-debias toggle. Default true. */
    lengthDebias?: boolean;
    /** --bootstrap. Distribution-free CI on each child report. */
    bootstrap?: boolean;
    /** --bootstrap-samples N. */
    bootstrapSamples?: number;
    /** Hard budget caps forwarded to each child report. */
    budget?: import('../types/index.js').EvalBudget;
}
interface CompletedBatchSkillRun {
    name: string;
    skillPath: string;
    samplesPath: string;
    report: EvaluationReport;
    filePath: string | null;
}
export declare function buildBatchEvaluationReport({ batchRunId, skillDir, skillEntries, skillResults, model, judgeModel, noJudge, executorName, judgeExecutorName, project, owner, tags, concurrency, timeoutMs, totalCostUSD, repeat, judgeModels, noCache, bootstrap, bootstrapSamples, lengthDebias, budget, }: {
    batchRunId: string;
    skillDir: string;
    skillEntries: Array<{
        name: string;
        skillPath: string;
        samplesPath: string;
    }>;
    skillResults: CompletedBatchSkillRun[];
    model: string;
    judgeModel: string;
    noJudge: boolean;
    executorName: string;
    judgeExecutorName?: string;
    project?: string;
    owner?: string;
    tags?: string[];
    concurrency: number;
    timeoutMs?: number;
    totalCostUSD: number;
    repeat?: number;
    judgeModels?: import('../types/index.js').JudgeConfig[];
    noCache: boolean;
    bootstrap?: boolean;
    bootstrapSamples?: number;
    lengthDebias?: boolean;
    budget?: import('../types/index.js').EvalBudget;
}): {
    report: BatchEvaluationReport;
    job: import('../types/index.js').EvaluationJob;
};
export declare function executeBatchEvaluationRuns({ skillDir, skillEntries, model, judgeModel, outputDir, project, owner, tags, noJudge, concurrency, timeoutMs, executorName, judgeExecutorName, jobStore, persistJob, onProgress, onSkillProgress, skipConnectivity, skipDoctor, lang, mcpConfig, verbose, repeat, judgeRepeat, judgeModels, lengthDebias, bootstrap, bootstrapSamples, budget, noCache, strictBaseline, variantAllowedSkills, runSingleEvaluation, }: {
    skillDir: string;
    skillEntries: Array<{
        name: string;
        skillPath: string;
        samplesPath: string;
    }>;
    model: string;
    judgeModel: string;
    outputDir?: string | null;
    project?: string;
    owner?: string;
    tags?: string[];
    noJudge?: boolean;
    concurrency?: number;
    timeoutMs?: number;
    executorName: string;
    judgeExecutorName?: string;
    jobStore?: JobStore | null;
    persistJob?: boolean;
    onProgress?: ProgressCallback | null;
    onSkillProgress?: ((info: {
        phase: string;
        skill: string;
        current: number;
        total: number;
    }) => void) | null;
    skipConnectivity?: boolean;
    /** --skip-doctor escape hatch. */
    skipDoctor?: boolean;
    lang?: 'zh' | 'en';
    mcpConfig?: string;
    verbose?: boolean;
    repeat?: number;
    judgeRepeat?: number;
    judgeModels?: import('../types/index.js').JudgeConfig[];
    lengthDebias?: boolean;
    bootstrap?: boolean;
    bootstrapSamples?: number;
    budget?: import('../types/index.js').EvalBudget;
    noCache?: boolean;
    /** strict-baseline default. Forwarded to per-skill resolveArtifacts. */
    strictBaseline?: boolean;
    /** explicit per-variant allowedSkills override. */
    variantAllowedSkills?: Record<string, string[]>;
    runSingleEvaluation: (options: RunSingleEvaluationOptions) => Promise<{
        report: EvaluationReport;
        filePath: string | null;
    }>;
}): Promise<{
    report: BatchEvaluationReport;
    filePath: string | null;
}>;
export {};
//# sourceMappingURL=batch-evaluation-workflow.d.ts.map