/**
 * repo-validation.ts — Semantic validation for task definitions.
 *
 * Checks that go beyond Zod schema parsing:
 * - Assertion types are in the curated set
 * - Rubric template names resolve to known templates
 * - Doc ref slugs look reasonable (slugs, not URLs)
 * - Tasks have at least one LLM rubric assertion (recommended)
 * - Tasks have a prompt text (recommended)
 *
 * These produce warnings, not errors — the pipeline can still run
 * with imperfect tasks. Only structural failures (caught by Zod) block.
 *
 * Previously this file re-exported from @sanity/ailf-tasks. That package
 * has been eliminated — all validation logic now lives here.
 */
import { type CanonicalTask } from "./repo-schemas.js";
export interface RepoValidationResult {
    valid: boolean;
    errors: RepoValidationMessage[];
    warnings: RepoValidationMessage[];
}
export interface RepoValidationMessage {
    taskId: string;
    field: string;
    message: string;
}
/**
 * Run semantic validation on an array of parsed canonical tasks.
 *
 * Returns warnings for issues that don't block execution (unknown feature
 * areas, unresolved slugs) and errors for issues that would cause pipeline
 * failures (completely missing required fields — though Zod catches most).
 */
export declare function validateCanonicalTasks(tasks: CanonicalTask[]): RepoValidationResult;
/**
 * Format validation results for console output.
 */
export declare function formatRepoValidationResult(result: RepoValidationResult): string;
