import type { DependencyRequirements } from '../eval-core/dependency-checker.js';
import type { Artifact, JudgeConfig, Sample, Task, VariantSpec } from '../types/index.js';
export interface PreparedEvaluationRun {
    samples: Sample[];
    artifacts: Artifact[];
    tasks: Task[];
    variantNames: string[];
    requires?: DependencyRequirements;
    /** Sample bundle 根目录(单文件模式 = 文件所在 dir,目录模式 = 目录本身)。
     *  传给 grade / mock / test set hash 当 base 锚点。 */
    samplesBaseDir: string;
    /** Sample bundle 内参与合并的所有源文件绝对路径(已排序)。test set hash 用它遍历。 */
    samplesSourceFiles: string[];
}
export declare function prepareEvaluationRun({ samplesPath, skillDir, variantSpecs, artifacts, dryRun, mcpConfig, strictBaseline, variantAllowedSkills, }: {
    samplesPath: string;
    skillDir: string;
    variantSpecs: VariantSpec[];
    artifacts?: Artifact[];
    dryRun: boolean;
    mcpConfig?: string;
    /**  — default true, baseline-kind 自动 allowedSkills=[]。 */
    strictBaseline?: boolean;
    /**  — eval.yaml 显式 allowedSkills per variant (overrides strictBaseline default). */
    variantAllowedSkills?: Record<string, string[]>;
}): Promise<PreparedEvaluationRun>;
export declare function buildDryRunTaskReport({ model, judgeModels, executorName, samplesPath, skillDir, tasks, variantNames, }: {
    model: string;
    judgeModels: JudgeConfig[];
    executorName: string;
    samplesPath: string;
    skillDir: string;
    tasks: Task[];
    variantNames: string[];
}): {
    dryRun: true;
    model: string;
    judgeModels: JudgeConfig[];
    variants: string[];
    executor: string;
    samplesPath: string;
    skillDir: string;
    totalTasks: number;
    tasks: {
        sample_id: string;
        variant: string;
        artifactKind: import("../types/eval.js").ArtifactKind;
        artifactSource: "baseline" | "variant-name" | "file-path" | "git" | "inline" | "custom";
        executionStrategy: import("../types/eval.js").ExecutionStrategyKind;
        experimentType: import("../types/eval.js").ExperimentType;
        experimentRole: import("../types/eval.js").ExperimentRole;
        cwd: string | null;
        promptPreview: string;
        hasRubric: boolean;
        hasAssertions: boolean;
        hasDimensions: boolean;
        hasSystem: boolean;
    }[];
};
//# sourceMappingURL=evaluation-preparation.d.ts.map