/**
 * Smart alarm evaluator — uses a fast model to decide whether a long-running
 * non-browser tool call should be aborted or allowed to continue.
 *
 * Called by the ToolCallWatchdog when a non-browser tool exceeds the alarm
 * threshold (default 30s).  The evaluator sees the tool name, its input,
 * elapsed time, and a summary of recent agent activity, then returns a
 * binary "continue" or "abort" decision.
 */
import { z } from "zod";
import type { VisionClawConfig } from "../config/types.js";
declare const AlarmDecisionSchema: z.ZodObject<{
    decision: z.ZodEnum<{
        abort: "abort";
        continue: "continue";
    }>;
    reason: z.ZodString;
}, z.core.$strip>;
export type AlarmDecision = z.infer<typeof AlarmDecisionSchema>;
export interface ToolAlarmContext {
    toolName: string;
    toolInput: string;
    elapsedSeconds: number;
    /** How many alarms have fired so far for this tool call (1-based). */
    alarmCount: number;
    /** Absolute safety ceiling in seconds — the call will be force-aborted at this point regardless. */
    absoluteTimeoutSeconds: number;
    activitySummary: string;
}
/**
 * Evaluate whether a long-running tool call should be aborted.
 *
 * Returns `null` on failure (caller should treat as "continue" to be safe).
 */
export declare function evaluateToolAlarm(context: ToolAlarmContext, config: VisionClawConfig): Promise<AlarmDecision | null>;
export {};
//# sourceMappingURL=tool-alarm-evaluator.d.ts.map