import type { ToolResult } from "../../types.js"; export interface ToolWatchdogInput { readonly toolName: string; readonly stallBudgetMs: number; readonly hardBudgetMs: number; readonly graceMs: number; readonly controller: AbortController; readonly notify: (message: string) => void; } export interface ToolWatchdogState { readonly stalledByWatchdog: boolean; readonly hardTimedOut: boolean; readonly forceSettled: boolean; } export interface ToolWatchdog { readonly resetStallTimer: () => void; readonly run: (startWork: () => Promise) => Promise; readonly state: () => ToolWatchdogState; readonly abortResult: () => ToolResult; readonly dispose: () => void; } export declare const createToolWatchdog: (input: ToolWatchdogInput) => ToolWatchdog;