/**
 * Web Search Tool
 *
 * Performs real-time web searches by scraping DuckDuckGo's lightweight HTML
 * results endpoint. Each organic hit is distilled to the three fields a model
 * reasons over — title, destination URL, and a short snippet — and rendered as a
 * compact numbered list. Provides up-to-date information for current events and
 * recent data.
 */
import type { AgentTool } from "../types.js";
declare const webSearchSchema: import("@sinclair/typebox").TObject<{
    query: import("@sinclair/typebox").TString;
    numResults: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
}>;
export interface WebSearchToolDetails {
    query: string;
    numResults?: number;
}
export interface WebSearchToolOptions {
    /** Custom API base URL (for testing or alternative endpoints) */
    baseUrl?: string;
    /** API key for Exa AI (if required) */
    apiKey?: string;
    /** Max requests per process window */
    rateLimitPerMinute?: number;
    /** Optional result filtering hook */
    filterResult?: (raw: string) => string;
    /** Optional fallback implementation */
    fallbackSearch?: (query: string, numResults?: number, signal?: AbortSignal) => Promise<string>;
}
export declare function createWebSearchTool(options?: WebSearchToolOptions): AgentTool<typeof webSearchSchema>;
/** Default web search tool */
export declare const webSearchTool: AgentTool<import("@sinclair/typebox").TObject<{
    query: import("@sinclair/typebox").TString;
    numResults: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
}>, any>;
export {};
