import { PlumbError, type Rule, type Thresholds, type Usage, type Verdict } from "oh-my-plumb-schema"; import { type Credentials } from "./credentials.js"; import type { ToolCallEntry } from "./session.js"; export type ModelRule = Rule & { check: { type: "model"; }; }; export declare const isModelRule: (rule: Rule) => rule is ModelRule; /** What the judge sees: the change, or one recorded tool call. */ export type CheckState = { task?: string; file?: string; files?: string[]; diff: string; } | { task?: string; /** The turn's tool-call log, in call order: what a turn-phase tool-call rule is judged on. */ toolCalls: ToolCallEntry[]; } | { task?: string; tool: string; input: string; }; export type ModelCheckResult = { verdicts: Verdict[]; usage: Usage; latencyMs: number; }; export declare const describeModelFailure: (error: unknown, creds: Exclude) => PlumbError; /** One call carrying every rule. The state is only the rule set and the change. */ export declare const checkWithModel: (rules: readonly ModelRule[], state: CheckState, thresholds: Thresholds, timeoutMs: number, /** Transient gateway failures to retry. Zero inside a hook, where the budget is the agent's time. */ retries?: number) => Promise; //# sourceMappingURL=jev.d.ts.map