export interface ToolTimeoutConfig { /** Default timeout in seconds when agent omits the field */ default: number; /** Minimum allowed timeout in seconds */ min: number; /** Maximum allowed timeout in seconds (per-tool ceiling) */ max: number; } export declare const TOOL_TIMEOUTS: { readonly bash: { readonly default: 300; readonly min: 1; readonly max: 3600; }; readonly eval: { readonly default: 30; readonly min: 1; readonly max: 600; }; readonly browser: { readonly default: 30; readonly min: 1; readonly max: 300; }; readonly ssh: { readonly default: 60; readonly min: 1; readonly max: 3600; }; readonly fetch: { readonly default: 20; readonly min: 1; readonly max: 45; }; readonly lsp: { readonly default: 20; readonly min: 5; readonly max: 60; }; readonly debug: { readonly default: 30; readonly min: 5; readonly max: 300; }; }; export type ToolWithTimeout = keyof typeof TOOL_TIMEOUTS; /** * Clamp a raw timeout to the allowed range for a tool. * If rawTimeout is undefined, returns the tool's default. */ export declare function clampTimeout(tool: ToolWithTimeout, rawTimeout?: number): number;