/** * Document Registry * Tracks imported documents to enable incremental sync */ export interface DocumentEntry { relativePath: string; absolutePath: string; contentHash: string; size: number; memoryId: string | null; importedAt: string | null; lastChecked: string; type: string; priority: number; title: string; status: 'synced' | 'new' | 'modified' | 'deleted' | 'skipped'; } export interface ProjectRegistry { lastFullScan: string; documents: Record; } export interface DocumentRegistry { version: string; projects: Record; } /** * Load the document registry */ export declare function loadRegistry(): DocumentRegistry; /** * Save the document registry */ export declare function saveRegistry(registry: DocumentRegistry): void; /** * Get or create project registry */ export declare function getProjectRegistry(registry: DocumentRegistry, projectId: string): ProjectRegistry; /** * Calculate SHA-256 hash of file content * Normalizes line endings for consistent hashing across platforms */ export declare function calculateFileHash(filePath: string): string; /** * Get document entry from registry */ export declare function getDocumentEntry(registry: DocumentRegistry, projectId: string, relativePath: string): DocumentEntry | null; /** * Update or create document entry */ export declare function setDocumentEntry(registry: DocumentRegistry, projectId: string, entry: DocumentEntry): void; /** * Remove document entry */ export declare function removeDocumentEntry(registry: DocumentRegistry, projectId: string, relativePath: string): void; /** * Get all document entries for a project */ export declare function getAllDocumentEntries(registry: DocumentRegistry, projectId: string): DocumentEntry[]; /** * Determine document status by comparing with registry */ export declare function determineDocumentStatus(registry: DocumentRegistry, projectId: string, doc: { path: string; type: string; title: string; priority: number; }, projectDir: string): { status: 'new' | 'modified' | 'synced' | 'skipped'; entry: DocumentEntry; }; /** * Find deleted documents (in registry but not in scanned files) */ export declare function findDeletedDocuments(registry: DocumentRegistry, projectId: string, scannedPaths: Set): DocumentEntry[]; /** * Mark document as imported with memory ID */ export declare function markDocumentImported(registry: DocumentRegistry, projectId: string, relativePath: string, memoryId: string): void; /** * Mark document as skipped (not imported due to low priority) */ export declare function markDocumentSkipped(registry: DocumentRegistry, projectId: string, relativePath: string): void; /** * Get sync statistics for a project */ export declare function getRegistryStats(registry: DocumentRegistry, projectId: string): { total: number; synced: number; skipped: number; new: number; modified: number; }; /** * Clear project registry (for full re-scan) */ export declare function clearProjectRegistry(registry: DocumentRegistry, projectId: string): void; //# sourceMappingURL=document-registry.d.ts.map