import type { Tool } from "@modelcontextprotocol/sdk/types.js"; /** A single finding in the pre-flight verdict (mirrors audit_file violations). */ export interface PreflightViolation { rule_id: string; severity: "error" | "warning" | "info"; range: { line: number; column: number; }; message: string; suggestion_available: boolean; suggestion?: string; } export interface PreflightResult { schema_version: "1.0.0"; /** `blocked` = at least one stable-rule violation; `pass` = none; `error` = tool error. */ verdict: "pass" | "blocked" | "error"; /** Stable-rule violations — these block the write. */ blocking: PreflightViolation[]; /** Experimental-rule violations — advisory only, never block. */ advisory: PreflightViolation[]; summary: string; } interface PreflightInput { path?: unknown; content?: unknown; project_root?: unknown; } export declare const preflightTool: Tool; /** * Partitions audit violations into blocking (stable rule) and advisory * (experimental rule). Verdict is `blocked` iff any stable-rule violation * exists. Pure — the policy core of the pre-flight guardrail. */ export declare function classifyPreflight(violations: PreflightViolation[], stableRules: ReadonlySet): { verdict: "pass" | "blocked"; blocking: PreflightViolation[]; advisory: PreflightViolation[]; }; export declare function runPreflight(input: PreflightInput): Promise; export {};