import { type LoopRun } from './loop-run.js'; import type { RouteContext } from './router.js'; export type LoopEvaluatorMode = 'auto' | 'on' | 'off'; export declare function getLoopEvaluatorMode(): LoopEvaluatorMode; /** * Run independent evaluator before accepting stop+met=true. * - off → skip * - auto → skip if role=cheap unbound * - on → require cheap (or fail soft skip with reason) */ export declare function evaluateLoopObjectiveMet(input: { run: LoopRun; claimSummary: string; callerAgent: string; routeCtx: RouteContext; signal?: AbortSignal; }): Promise<{ proceed: boolean; skipped: boolean; agree?: boolean; reason: string; }>; export declare function isLoopAutoVerifyEnabled(): boolean; interface AutoVerdict { met: boolean; summary: string; gaps?: string[]; nextDirection?: string; } /** Format the current round's Subagent results for the reviewer prompt. */ export declare function formatLoopRoundEvidence(run: LoopRun): string; /** * Run one auto-verify round: ask a cheap same-family Subagent to review the * round's evidence against the mission and produce the loop_verdict payload. * Returns the parsed verdict, or null when the reviewer is unavailable / * returns unparseable JSON (caller falls back to verify_skipped). */ export declare function autoVerifyLoopRound(input: { run: LoopRun; callerAgent: string; routeCtx: RouteContext; signal?: AbortSignal; }): Promise; export type { AutoVerdict }; //# sourceMappingURL=loop-evaluator.d.ts.map