import { Tool } from '../core/types'; import { Logger } from '../utils/logger'; /** * WebSearchTool implementation using Tavily API */ export declare class TavilySearchTool implements Tool { name: string; description: string; logger: Logger; private apiKey; schema: { type: string; properties: { query: { type: string; description: string; }; maxResults: { type: string; description: string; }; includeAnswer: { type: string; description: string; }; searchDepth: { type: string; enum: string[]; description: string; }; }; required: string[]; }; /** * Creates a new Tavily search tool * * @param apiKey - Optional API key (defaults to TAVILY_API_KEY env var) */ constructor(apiKey?: string); /** * Execute the web search using Tavily API * * @param params - Parameters for the search * @returns Promise resolving to search results */ execute(params: Record): Promise; }