import type { LoggerInterface } from '@qvac/logging'; import type { BaseDBAdapter } from '../adapters/database/BaseDBAdapter.js'; import type { ChunkingService } from './core/ChunkingService.js'; import type { EmbeddingService } from './core/EmbeddingService.js'; import type { GenerateEmbeddingsOpts, SearchParams, SearchResult } from '../types.js'; interface RetrievalServiceConfig { dbAdapter: BaseDBAdapter; chunkingService: ChunkingService; embeddingService: EmbeddingService; logger?: LoggerInterface; } export declare class RetrievalService { dbAdapter: BaseDBAdapter; chunkingService: ChunkingService; embeddingService: EmbeddingService; logger: LoggerInterface; constructor({ dbAdapter, chunkingService, embeddingService, logger }: RetrievalServiceConfig); generateEmbeddings(text: string): Promise; generateEmbeddingsForDocs(docs: string | string[], opts?: GenerateEmbeddingsOpts): Promise<{ [key: string]: number[]; }>; search(query: string, params?: SearchParams): Promise; } export {};