/**
 * Preflight dependency checker for evaluations.
 *
 * Automatically extracts external dependencies (CLI tools, file references,
 * environment variables) from skill content and sample assertions, then
 * verifies they are available before evaluation starts.
 */
import type { Artifact, DependencyCheckResult, DependencyRequirements, Sample } from '../types/index.js';
export type { DependencyCheckResult, DependencyIssue, DependencyReasonCode, DependencyRequirements, } from '../types/index.js';
/**
 * Extract dependencies from skill contents and sample assertions.
 */
export declare function extractDependencies(skillContents: string[], samples: Sample[]): DependencyRequirements;
/**
 * Extract file dependencies per artifact, keyed by the base dir each file
 * should be resolved against:
 *   - artifact.skillRoot (directory-skill: SKILL.md 自带 assets,相对路径锚到 skill 根)
 *   - artifact.cwd       (用户显式 @cwd)
 *   - defaultCwd         (其他)
 *
 * 必须用 per-artifact 分桶,否则两个 skill 各自的 assets/foo.md 在单一 cwd 下
 * 互相错位,导致大量 false-positive missing。
 */
export declare function extractFilesByBase(artifacts: Artifact[], defaultCwd: string): Map<string, Set<string>>;
/**
 * Check if all declared dependencies are available.
 */
export declare function checkDependencies(deps: DependencyRequirements, cwd: string, env?: NodeJS.ProcessEnv): Promise<DependencyCheckResult>;
/**
 * Run preflight dependency check: auto-extract + merge explicit requires + validate + run preflight commands.
 *
 * 文件路径走 per-artifact 分桶解析(每个 skill 用自己的 skillRoot / cwd 当 base),
 * 工具 / env 变量 / preflight 命令仍全局合并。explicit requires.files 视为用户全局
 * 声明,落到 defaultCwd。
 */
export declare function preflightDependencies(skillContents: string[], samples: Sample[], cwd: string, explicitRequires?: DependencyRequirements, artifacts?: Artifact[]): Promise<DependencyCheckResult>;
//# sourceMappingURL=dependency-checker.d.ts.map