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