import type { DocdexClient } from "../docdex/DocdexClient.js"; import type { VerificationCheckResult, VerificationCheckType, VerificationOutcome, VerificationPolicySummary, VerificationReasonCode, VerificationReport } from "./Types.js"; export interface ValidationRunnerOptions { allowShell: boolean; shellAllowlist: string[]; workspaceRoot: string; docdexClient?: DocdexClient; shellTimeoutMs?: number; defaultPolicyName?: string; defaultMinimumChecks?: number; defaultEnforceHighConfidence?: boolean; } export interface ValidationRunOptions { policyName?: string; minimumChecks?: number; enforceHighConfidence?: boolean; touchedFiles?: string[]; onResolvedPlan?: (plan: VerificationResolvedPlan) => Promise | void; } type ValidationTotals = VerificationReport["totals"]; export type VerificationCheckCategory = "test" | "lint" | "build" | "hook" | "unknown"; export interface VerificationResolvedCheck { step: string; check_type: VerificationCheckType; category: VerificationCheckCategory; targeted: boolean; source: "explicit" | "derived"; rationale: string; } export interface VerificationResolvedPlan { schema_version: 1; policy_name: string; source: "explicit" | "derived" | "mixed"; touched_files: string[]; language_signals: string[]; project_signals: string[]; checks: VerificationResolvedCheck[]; } export interface ValidationResult { ok: boolean; errors: string[]; outcome: VerificationOutcome; reason_codes: VerificationReasonCode[]; checks: VerificationCheckResult[]; policy: VerificationPolicySummary; touched_files: string[]; language_signals: string[]; totals: ValidationTotals; report: VerificationReport; } export declare class ValidationRunner { private options; constructor(options: ValidationRunnerOptions); run(steps: string[], runOptions?: ValidationRunOptions): Promise; } export {}; //# sourceMappingURL=ValidationRunner.d.ts.map