/** Search API for CortexDB */ import { HTTPClient } from "../http/client"; import type { RAGStrategy, AdvancedSearchResponse, SearchResponse } from "../types"; export interface SearchFilters { [key: string]: any; } export type { RAGStrategy, AdvancedSearchResponse }; export type HybridSearchResponse> = SearchResponse; export interface HybridSearchOptions { collection: string; query: string; filters?: SearchFilters; limit?: number; database?: string; } export interface AdvancedSearchOptions { collection: string; query: string; filters?: SearchFilters; limit?: number; strategy?: RAGStrategy; minScore?: number; strategyConfig?: Record; aiProviderName?: string; database?: string; } export declare class SearchAPI { private http; private getDefaultDatabase?; constructor(http: HTTPClient, getDefaultDatabase?: (() => string | undefined) | undefined); private resolveDatabase; private buildBasePath; /** * Hybrid search - semantic vector search with optional filters * * @example * ```typescript * const results = await client.search.hybrid({ * collection: 'documents', * query: 'What is the deadline for appeals?', * limit: 10, * filters: { id: 'record-123' } * }); * ``` */ hybrid>(options: HybridSearchOptions): Promise>; /** * Advanced search with RAG strategies * * Available strategies: * - `simple`: Basic semantic search (default, no AI provider needed) * - `multi_query`: Generate multiple query variations for better recall * - `hyde`: Hypothetical Document Embeddings * - `rerank`: Re-rank results using LLM for better precision * - `fusion`: Combines multi_query + rerank * - `contextual_query`: Use conversation context to reformulate query * * @example * ```typescript * // Simple strategy (no AI provider needed) * const results = await client.search.advanced({ * collection: 'documents', * query: 'What is the deadline?', * strategy: 'simple', * limit: 10 * }); * * // Rerank strategy (requires AI provider) * const results = await client.search.advanced({ * collection: 'documents', * query: 'What is the deadline for appeals?', * strategy: 'rerank', * strategyConfig: { * initial_limit: 50, * final_limit: 10 * }, * aiProviderName: 'Gemini', * limit: 10 * }); * * // Filter by specific record * const results = await client.search.advanced({ * collection: 'documents', * query: 'deadline', * filters: { id: 'record-uuid-123' }, * strategy: 'fusion', * aiProviderName: 'Gemini' * }); * ``` */ advanced>(options: AdvancedSearchOptions): Promise>; } //# sourceMappingURL=api.d.ts.map