import type { PortableTool } from "../portable-tool.js";
import type { WebAnswerToolDeps } from "./web-answer-tool.js";
export declare const WEB_RESEARCH_TOOL_NAME: "web_research";
export interface WebResearchToolParams {
    task: string;
    budget?: {
        /** 搜-读-反思轮数上限(默认 2:首轮 + 1 轮 reflect 补搜) */
        maxRounds?: number;
        /** 墙钟时间上限 ms(默认 120000) */
        maxWallClockMs?: number;
    };
}
export declare const WEB_RESEARCH_TOOL_SCHEMA: {
    readonly type: "object";
    readonly properties: {
        readonly task: {
            readonly type: "string";
            readonly description: string;
        };
        readonly budget: {
            readonly type: "object";
            readonly properties: {
                readonly maxRounds: {
                    readonly type: "number";
                    readonly description: "Max search-read-reflect rounds (default 2).";
                };
                readonly maxWallClockMs: {
                    readonly type: "number";
                    readonly description: "Max wall-clock time in ms (default 120000).";
                };
            };
            readonly description: "Hard budget caps to prevent runaway research.";
        };
    };
    readonly required: readonly ["task"];
};
/** 与 web_answer 同 deps + 可选写记忆(host 注入;无则跳过,details 如实标注)。 */
export interface WebResearchToolDeps extends WebAnswerToolDeps {
    /**
     * 可选:把研究结论写入长期记忆(§14)。内部经 consolidator 去重/重要度过滤(§15-7),
     * 返回是否成功提交(不保证最终入库条数)。
     */
    saveMemory?(text: string, meta: {
        source: string;
        category: string;
    }): Promise<boolean>;
}
export declare function createWebResearchTool(deps: WebResearchToolDeps): PortableTool<WebResearchToolParams>;
