export type SearchProvider = 'tavily' | 'brave' | 'serper' | 'serpapi' | 'exa' | 'searxng'; export interface SearchConfig { provider: SearchProvider; apiKey: string; apiUrl?: string; timeout?: number; } export interface SearchResult { title: string; url: string; content: string; score?: number; } export interface SearchResponse { query: string; answer?: string; results: SearchResult[]; } export declare class SearchClient { private config; constructor(config?: Partial); search(query: string, maxResults?: number): Promise; enrichContext(prompt: string): Promise<{ enriched: boolean; context: string; sources: string[]; }>; private searchTavily; private searchBrave; private searchSerper; private searchSerpAPI; private searchExa; private searchSearXNG; private extractSearchQuery; } export declare class SearchError extends Error { statusCode: number; details?: string | undefined; constructor(message: string, statusCode: number, details?: string | undefined); } export declare function getSearchClient(): SearchClient;