export interface CacheBackend { get(key: string): Promise; set(key: string, value: unknown, ttlSeconds?: number): Promise; clear(): Promise; } export interface VectorEmbedding { vector: number[]; dimension: number; } export interface LLMResponse { id: string; text: string; metadata?: Record; quality_score?: number; category?: string; tags?: string[]; [key: string]: unknown; } export interface CachedLLMEntry { query: string; query_embedding: VectorEmbedding; responses: LLMResponse[]; variant_strategy?: "random" | "round-robin" | "deterministic" | "weighted"; weights?: number[]; seed?: string | number; ttl?: number; created_at: Date; last_accessed?: Date; } export interface SemanticSearchResult { query: string; query_embedding: VectorEmbedding; matches: Array<{ entry: CachedLLMEntry; similarity_score: number; selected_response: LLMResponse; }>; total_matches: number; search_time_ms: number; } export interface VectorSearchBackend extends CacheBackend { storeLLMResponse(entry: CachedLLMEntry): Promise; searchSimilar(query: string, query_embedding: VectorEmbedding, limit?: number, similarity_threshold?: number): Promise; getResponses(query: string): Promise; updateAccessStats(query: string): Promise; } //# sourceMappingURL=types.d.ts.map