import { Document, RAGConfig, SearchResult } from './types.js';
export declare class RAGManager {
    private config;
    private vectorStore;
    private embeddingProvider;
    private chunker;
    private logger;
    private isInitialized;
    constructor(config: RAGConfig);
    private createVectorStore;
    initialize(): Promise<void>;
    ingestDocument(content: string, metadata?: Record<string, any>): Promise<Document>;
    ingestFile(filePath: string): Promise<Document>;
    ingestDirectory(dirPath: string, extensions?: string[]): Promise<Document[]>;
    ingestUrl(url: string): Promise<Document>;
    search(query: string, options?: {
        topK?: number;
        threshold?: number;
        filter?: Record<string, any>;
        rerank?: boolean;
    }): Promise<SearchResult[]>;
    searchWithContext(query: string, options?: {
        topK?: number;
        threshold?: number;
        filter?: Record<string, any>;
        contextWindow?: number;
    }): Promise<{
        results: SearchResult[];
        context: string;
    }>;
    generateAnswer(query: string, options?: {
        topK?: number;
        contextWindow?: number;
        systemPrompt?: string;
    }): Promise<{
        answer: string;
        sources: SearchResult[];
    }>;
    private rerankResults;
    private ensureInitialized;
    getStats(): Promise<any>;
    clear(): Promise<void>;
    close(): Promise<void>;
}
//# sourceMappingURL=rag-manager.d.ts.map