/** * Search Coordination Service * Orchestrates all types of search operations including hybrid, BM25, vector, and intelligent search */ import { JinaApiService } from './JinaApiService.js'; import { TurbopufferService } from './TurbopufferService.js'; import { ConfigurationService } from './ConfigurationService.js'; import { SearchResponse } from '../types/core.js'; export interface SearchOptions { limit?: number; vectorWeight?: number; bm25Weight?: number; fileTypes?: string[]; offset?: number; enableReranking?: boolean; } export declare class SearchCoordinationService { private jinaApiService; private turbopufferService; private connectionExtractor; private configurationService; private logger; constructor(jinaApiService: JinaApiService, turbopufferService: TurbopufferService, connectionExtractor: (filePath: string, content: string) => Promise, configurationService: ConfigurationService, loggerName?: string); /** * Advanced hybrid search combining vector similarity and BM25 full-text search */ searchHybrid(namespace: string, query: string, options?: SearchOptions): Promise; /** * Pure BM25 full-text search using Turbopuffer */ searchBM25(namespace: string, query: string, options?: SearchOptions): Promise; /** * Vector similarity search */ searchVector(namespace: string, query: string, limit?: number): Promise; /** * Symbol-based vector search */ searchVectorBySymbols(namespace: string, symbols: string[], limit?: number): Promise; /** * Intelligent search with automatic namespace detection */ searchWithIntelligence(query: string, codebasePath: string | undefined, indexedCodebases: Map, maxResults?: number): Promise; /** * Check if search services are available */ isAvailable(): boolean; /** * Get search service status */ getStatus(): { jinaAvailable: boolean; turbopufferAvailable: boolean; overallAvailable: boolean; }; } //# sourceMappingURL=SearchCoordinationService.d.ts.map