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: 3600;
    };
    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;
