/** * Graph storage adapters for LearnGraph * * Provides a unified interface for storing skill graphs with multiple * backend options: * - **MemoryStorage**: In-memory storage for testing * - **LevelGraphStorage**: Browser/local storage using triples * - **Neo4jStorage**: Production graph database * * @example * ```typescript * import { MemoryStorage, Neo4jStorage, LevelGraphStorage } from 'learngraph/storage'; * * // For testing * const testStorage = new MemoryStorage(); * await testStorage.connect({ backend: 'memory' }); * * // For browser/local development * const localStorage = new LevelGraphStorage(); * await localStorage.connect({ backend: 'levelgraph', path: './my-graph' }); * * // For production * const prodStorage = new Neo4jStorage(); * await prodStorage.connect({ * backend: 'neo4j', * uri: 'bolt://localhost:7687', * username: 'neo4j', * password: 'password', * }); * * // Same API for all! * const skill = await storage.createSkill({ ... }); * const prereqs = await storage.getPrerequisitesOf(skill.id); * ``` * * @packageDocumentation */ export type { StorageBackend, StorageConfig, StorageConfigBase, Neo4jConfig, LevelGraphConfig, MemoryConfig, ConnectionStatus, ImportResult, GraphStorage, StorageFactory, } from '../types/storage.js'; export { StorageError, ConnectionError, NotConnectedError, NotFoundError, DuplicateError, ReferenceError, ValidationError, TimeoutError, CycleDetectedError, } from './errors.js'; export { generateId, nowISO, inputToSkillNode, inputToEdge, validateSkillInput, validateEdgeInput, calculateStats, } from './base.js'; export { MemoryStorage } from './memory.js'; export { LevelGraphStorage } from './levelgraph.js'; export { Neo4jStorage } from './neo4j.js'; export { Neo4jGraphRAGStorage, createNeo4jGraphRAGStorage, GRAPHRAG_DEFAULTS, } from './neo4j-graphrag.js'; export { FRACTIONS_CURRICULUM, PROGRAMMING_CURRICULUM, seedStorage, } from './seeds.js'; import type { StorageConfig, GraphStorage } from '../types/storage.js'; /** * Create a storage adapter based on configuration. * * @example * ```typescript * const storage = createStorage({ backend: 'memory' }); * await storage.connect({ backend: 'memory' }); * ``` */ export declare function createStorage(config: StorageConfig): GraphStorage; //# sourceMappingURL=index.d.ts.map