export interface SearchResult { title: string; url: string; snippet: string; markdown?: string; crawledAt?: number; error?: string; } export interface SearchOptions { searxngUrl?: string; /** Number of results to request from SearXNG. */ maxResults?: number; /** Number of top results to crawl for full content. */ crawlTop?: number; /** Per-request timeout ms. */ timeoutMs?: number; /** Extra query params for SearXNG. */ searxngParams?: Record; } export declare class SearchController { private opts; constructor(opts?: SearchOptions); setOptions(opts: SearchOptions): void; search(query: string): Promise; private querySearXNG; private queryDuckDuckGo; crawl(url: string): Promise<{ markdown: string; text: string; title: string; } | null>; }