import type { JsonObject } from '../../hub/types/json.js';
import type { AdapterContext } from '../../hub/types/chat-envelope.js';
/**
 * Gemini web_search 请求适配（作用于 Gemini 请求 payload，而不是 ChatEnvelope）：
 *
 * - 仅在 routeId 以 `web_search` 或 `search` 开头时生效（来自 AdapterContext.routeId）；
 * - 针对 Gemini 请求中的 `tools` 字段进行清洗：
 *   - 保留 name === 'web_search' 的 functionDeclarations（如果存在）；
 *   - 丢弃其它 Codex 自身工具（exec_command / MCP 等），避免 Cloud Code 报
 *     “Multiple tools are supported only when they are all search tools.”；
 *   - 如果清洗后没有任何工具，则删除 `tools` 字段。
 *
 * 注意：
 * - 这里处理的是 llmswitch-core 为 gemini-chat 构造的中间 payload（buildGeminiRequestFromChat 输出）；
 * - 对于 Gemini CLI 后续在传输层添加的 googleSearch 工具，本适配不负责构造或修改。
 */
export declare function applyGeminiWebSearchCompat(payload: JsonObject, adapterContext?: AdapterContext): JsonObject;
