export interface Document {
    text: string;
    metadata?: Record<string, any>;
    id?: string;
}
export interface AdvancedRAGConfig {
    vectorStore?: 'faiss' | 'chroma' | 'pinecone' | 'weaviate';
    embeddingModel?: string;
    chunkSize?: number;
    chunkOverlap?: number;
    topK?: number;
    similarityThreshold?: number;
    hybridRetrieval?: boolean;
    knowledgeGraph?: boolean;
    cacheResults?: boolean;
}
export interface QueryConfig {
    query: string;
    topK?: number;
    similarityThreshold?: number;
    filters?: Record<string, any>;
    includeMetadata?: boolean;
    hybridSearch?: boolean;
}
export declare class AdvancedRAGClient {
    private client;
    private config;
    constructor(config?: AdvancedRAGConfig);
    initialize(): Promise<{
        success: boolean;
        message: string;
    }>;
    addDocuments(documents: Document[]): Promise<{
        success: boolean;
        message: string;
    }>;
    addDocument(document: Document): Promise<{
        success: boolean;
        message: string;
    }>;
    query(config: QueryConfig): Promise<any>;
    updateDocument(documentId: string, newText: string, newMetadata?: Record<string, any>): Promise<{
        success: boolean;
        message: string;
    }>;
    deleteDocument(documentId: string): Promise<{
        success: boolean;
        message: string;
    }>;
    getDocument(documentId: string): Promise<any>;
    listDocuments(limit?: number, offset?: number): Promise<any>;
    clearIndex(): Promise<{
        success: boolean;
        message: string;
    }>;
    getIndexStats(): Promise<any>;
}
//# sourceMappingURL=advancedRAG.d.ts.map