import type { OpenClawConfig } from "../../config/config.js"; type ConfiguredWebSearchProvider = NonNullable["web"]>["search"]>["provider"]; export type WebSearchConfig = NonNullable["web"] extends infer Web ? Web extends { search?: infer Search; } ? Search : undefined : undefined; export declare function withForcedProvider(config: OpenClawConfig | undefined, provider: ConfiguredWebSearchProvider): OpenClawConfig; export declare function getTopLevelCredentialValue(searchConfig?: Record): unknown; export declare function setTopLevelCredentialValue(searchConfigTarget: Record, value: unknown): void; export declare function getScopedCredentialValue(searchConfig: Record | undefined, key: string): unknown; export declare function setScopedCredentialValue(searchConfigTarget: Record, key: string, value: unknown): void; export declare function mergeScopedSearchConfig(searchConfig: Record | undefined, key: string, pluginConfig: Record | undefined, options?: { mirrorApiKeyToTopLevel?: boolean; }): Record | undefined; export declare function resolveSearchConfig(cfg?: OpenClawConfig): WebSearchConfig; export declare function resolveProviderWebSearchPluginConfig(config: OpenClawConfig | undefined, pluginId: string): Record | undefined; export declare function setProviderWebSearchPluginConfigValue(configTarget: OpenClawConfig, pluginId: string, key: string, value: unknown): void; export declare function resolveSearchEnabled(params: { search?: WebSearchConfig; sandboxed?: boolean; }): boolean; export {};