/** * Vault Sync Engine * * Syncs Gaia memories from SQLite to an Obsidian vault as interlinked * markdown files. Supports full and incremental sync, Claude Code memory * file ingestion, and orphan cleanup. */ export interface VaultConfig { /** Absolute path to the Obsidian vault root. */ vaultPath: string; /** Absolute path to the Gaia SQLite database. */ gaiaDbPath: string; /** Absolute path to the sync state JSON file. */ syncStatePath: string; /** Optional path to Claude Code memory directory (e.g. ~/.claude/projects/.../memory/). */ claudeMemoryPath?: string; } export interface SyncState { vault_path: string; last_full_sync: string; synced_memories: Record; } export interface SyncResult { created: number; updated: number; deleted: number; skipped: number; errors: string[]; } export declare class VaultSync { private config; constructor(config: VaultConfig); /** * Create the required folder structure in the vault and write an initial * dashboard index file. */ init(): Promise; /** * Full sync: reads ALL memories from Gaia DB, transforms and writes every * file, updates sync state. Also syncs Claude Code memory files if * claudeMemoryPath is configured. */ sync(): Promise; /** * Incremental sync: only writes memories whose rendered content has changed * since the last sync (detected via MD5 hash comparison). */ syncIncremental(): Promise; /** * Returns the current sync state, or null if no sync has run yet. */ getStatus(): SyncState | null; private loadSyncState; private saveSyncState; private hashContent; private syncGaiaMemories; private syncClaudeMemories; /** * Walk Foundation/ in the vault and remove .md files whose memory id is no * longer in currentIds. Returns the number of files deleted. */ private cleanOrphans; } //# sourceMappingURL=sync.d.ts.map