/** * Document Sync * Handles incremental document synchronization with VasperaMemory */ import { DocumentEntry } from './document-registry.js'; export interface ScannedDocument { path: string; type: string; title: string; priority: number; } export interface SyncResult { imported: number; updated: number; unchanged: number; skipped: number; deleted: number; errors: string[]; details: { imported: string[]; updated: string[]; skipped: string[]; deleted: string[]; }; } export interface SyncOptions { fullScan?: boolean; dryRun?: boolean; priorityThreshold?: number; types?: string[]; } /** * Scan directory for documentation files * Returns array of discovered documents sorted by priority */ export declare function scanForDocuments(dir: string, maxDepth?: number): ScannedDocument[]; /** * Perform incremental document sync */ export declare function syncDocuments(projectDir: string, projectId: string, apiKey: string, serverUrl: string, options?: SyncOptions): Promise; /** * Get document sync status for display */ export declare function getDocumentStatus(projectDir: string, projectId: string): { lastScan: string | null; stats: { total: number; synced: number; skipped: number; new: number; modified: number; }; documents: DocumentEntry[]; }; /** * Force import a specific document */ export declare function forceImportDocument(docPath: string, projectDir: string, projectId: string, apiKey: string, serverUrl: string): Promise<{ success: boolean; error?: string; }>; /** * Untrack a document (remove from registry) */ export declare function untrackDocument(docPath: string, projectDir: string, projectId: string): boolean; //# sourceMappingURL=document-sync.d.ts.map