import type { EvalCleanupSchema, EvalRequirementsSchema } from "./integration-types.js";
export interface Assertion {
    id: string;
    text: string;
    type: "boolean";
}
export interface EvalCase {
    id: number;
    name: string;
    prompt: string;
    expected_output: string;
    files: string[];
    assertions: Assertion[];
    testType?: "unit" | "integration";
    requiredCredentials?: string[];
    requirements?: EvalRequirementsSchema;
    cleanup?: EvalCleanupSchema[];
}
export interface EvalsFile {
    skill_name: string;
    evals: EvalCase[];
}
export interface ValidationError {
    path: string;
    message: string;
}
export interface ValidationWarning {
    path: string;
    message: string;
}
export declare class EvalValidationError extends Error {
    errors: ValidationError[];
    constructor(errors: ValidationError[]);
}
export interface ValidatedEvalsResult {
    evalsFile: EvalsFile;
    warnings: ValidationWarning[];
}
export declare function loadAndValidateEvals(skillDir: string): EvalsFile;
export declare function loadAndValidateEvals(skillDir: string, opts: {
    returnWarnings: true;
}): ValidatedEvalsResult;
