/** * CogmemAi Storage Abstraction Layer — interface + factory. * * Tools call storage methods instead of api() directly. * The factory picks the right backend based on STORAGE_MODE. */ import { type StorageMode } from './config.js'; /** * StorageBackend — every tool operation maps to a method here. * Cloud backend wraps api(), local backend uses SQLite, hybrid composes both. */ export interface StorageBackend { readonly mode: StorageMode; saveMemory(body: Record): Promise; recallMemories(body: Record): Promise; getProjectContext(params: Record): Promise; listMemories(params: Record): Promise; deleteMemory(id: number): Promise; updateMemory(id: number, body: Record): Promise; bulkDelete(ids: number[]): Promise; bulkUpdate(updates: unknown[]): Promise; exportMemories(params: Record): Promise; importMemories(body: Record): Promise; saveSessionSummary(body: Record): Promise; listTags(params: Record): Promise; getUsage(): Promise; feedbackMemory(body: Record): Promise; extractMemories(body: Record): Promise; ingestDocument(body: Record): Promise; linkMemories(id: number, body: Record): Promise; getMemoryLinks(id: number): Promise; getMemoryVersions(id: number): Promise; getAnalytics(params: Record): Promise; promoteMemory(id: number): Promise; consolidateMemories(body: Record): Promise; saveCorrection(body: Record): Promise; setReminder(body: Record): Promise; getStaleMemories(params: Record): Promise; generateSkills(body: Record): Promise; extractPrinciples(body: Record): Promise; smartRecall(body: Record): Promise; restoreMemory?(id: number): Promise; listTrash?(params: Record): Promise; } /** * Create the storage backend for the current mode. * Lazy-imports to avoid loading SQLite deps in cloud-only mode. */ export declare function createStorage(): Promise;