import { DocumentChunkRepository } from "../repositories/document-chunk-repository"; import { DocumentRepository } from "../repositories/document-repository"; import { KnowledgeGraphRepository } from "../repositories/knowledge-graph-repository"; import type { VectraAdapter } from "../vector/vectra"; import { type DocumentIngestionRequest, type DocumentIngestionResult, type DocumentRecordDTO, type DocumentUpdateRequest, type DocumentDeleteRequest, type DocumentSearchRequest, type DocumentGetReferencesRequest, type DocumentAnalyzeRequest, type DocumentAnalysisDTO } from "../schemas/document"; import type { EmbeddingProvider, EntityExtractor, SummaryGenerator, TextSplitter, TextSplitterChunk, DocumentService } from "./types"; export interface DocumentServiceDependencies { documentRepository: DocumentRepository; chunkRepository: DocumentChunkRepository; knowledgeRepository: KnowledgeGraphRepository; vectra: VectraAdapter; embeddings: EmbeddingProvider; textSplitter: TextSplitter; summaryGenerator?: SummaryGenerator; entityExtractor?: EntityExtractor; memoryRepository?: any; } export declare class DefaultDocumentService implements DocumentService { #private; constructor(deps: DocumentServiceDependencies); ingest(request: DocumentIngestionRequest): Promise; getDocument(id: string): Promise; listDocuments(limit?: number, offset?: number): Promise; updateDocument(input: DocumentUpdateRequest): Promise; deleteDocument(input: DocumentDeleteRequest): Promise; searchDocuments(input: DocumentSearchRequest): Promise; getDocumentReferences(input: DocumentGetReferencesRequest): Promise; analyzeDocument(input: DocumentAnalyzeRequest): Promise; } export declare class SlidingWindowTextSplitter implements TextSplitter { split(text: string, options: { chunkSize: number; chunkOverlap: number; }): TextSplitterChunk[]; } //# sourceMappingURL=document-service.d.ts.map