export interface SearchResult { title: string; content: string; path: string; anchor?: string; type: string; relevance: number; // 0–1 url: string; } export interface SearchProviderResponse { results: SearchResult[]; notice?: string; } export interface SearchProvider { id: string; name: string; timeout?: number; search: (query: string, signal: AbortSignal) => Promise; } export interface SearchConfig { timeout: number; providers: SearchProvider[]; }