import type { OpenClawConfig } from "../config/types.openclaw.js"; import type { PluginWebSearchProviderEntry, WebSearchProviderToolDefinition } from "../plugins/web-provider-types.js"; import type { RuntimeWebSearchMetadata } from "../secrets/runtime-web-tools.types.js"; type WebSearchConfig = NonNullable["web"] extends infer Web ? Web extends { search?: infer Search; } ? Search : undefined : undefined; export type ResolveWebSearchDefinitionParams = { config?: OpenClawConfig; sandboxed?: boolean; runtimeWebSearch?: RuntimeWebSearchMetadata; providerId?: string; preferRuntimeProviders?: boolean; }; export type RunWebSearchParams = ResolveWebSearchDefinitionParams & { args: Record; signal?: AbortSignal; }; export type RunWebSearchResult = { provider: string; result: Record; }; export type ListWebSearchProvidersParams = { config?: OpenClawConfig; }; export type RuntimeWebSearchProviderEntry = PluginWebSearchProviderEntry; export type RuntimeWebSearchToolDefinition = WebSearchProviderToolDefinition; export type RuntimeWebSearchConfig = WebSearchConfig; export {};