import type { FixManifest } from "../orchestrator/finish-tool.js"; export interface PatchValidationFailure { /** Where in the manifest the failed patch lives. Used by the manifest UI to highlight + drop. */ location: { kind: "page_patch"; pageIndex: number; changeIndex: number; pageUrl: string; patchType: string; } | { kind: "template_patch"; templateIndex: number; exampleIndex: number; changeIndex: number; templateId: string; patchType: string; } | { kind: "domain_patch"; index: number; patchType: string; }; reason: string; } export interface ManifestValidationReport { totalPatches: number; validPatches: number; failures: PatchValidationFailure[]; } /** * Walk every patch in the manifest and return a per-failure report. Does * NOT mutate the manifest — the caller decides what to do (drop failed * patches, surface them in a "rejected" section, retry the LLM with * feedback). Phase 4's manifest-finalization step will use this to filter * the manifest before persistence. */ export declare function validateManifest(manifest: FixManifest): ManifestValidationReport; //# sourceMappingURL=validate-manifest.d.ts.map