/** * LevelGraph storage adapter * * Browser-compatible graph storage using LevelGraph (triple store) * built on LevelDB/IndexedDB. * * @packageDocumentation */ import type { SkillNode, SkillId, SkillNodeInput, SkillNodeUpdate, PrerequisiteEdge, EdgeId, PrerequisiteEdgeInput, GraphStorage, StorageConfig, ConnectionStatus, ImportResult, GraphExport, GraphStats, Subgraph, SkillQuery } from '../types/index.js'; /** * LevelGraph storage adapter. * * Stores skill graphs using RDF-style triples, compatible with * LevelDB (Node.js) and IndexedDB (browser). * * @example * ```typescript * import { LevelGraphStorage } from 'learngraph/storage'; * import levelgraph from 'levelgraph'; * import level from 'level'; * * // Node.js usage * const storage = new LevelGraphStorage(); * await storage.connect({ * backend: 'levelgraph', * path: './my-graph-db', * }); * * // Browser usage (with level-js) * await storage.connect({ * backend: 'levelgraph', * dbName: 'my-graph-db', * }); * ``` */ export declare class LevelGraphStorage implements GraphStorage { private db; private _connected; private config; /** * Convert a SkillNode to triples */ private skillToTriples; /** * Convert triples back to a SkillNode */ private triplesToSkill; /** * Convert a PrerequisiteEdge to triples */ private edgeToTriples; /** * Convert triples back to a PrerequisiteEdge */ private triplesToEdge; private put; private del; private get; connect(config: StorageConfig): Promise; disconnect(): Promise; isConnected(): boolean; getStatus(): Promise; createSkill(input: SkillNodeInput): Promise; getSkill(id: SkillId): Promise; getSkills(ids: SkillId[]): Promise; updateSkill(id: SkillId, updates: SkillNodeUpdate): Promise; deleteSkill(id: SkillId): Promise; findSkills(query: Partial): Promise; countSkills(query?: Partial): Promise; createPrerequisite(input: PrerequisiteEdgeInput): Promise; getPrerequisite(id: EdgeId): Promise; deletePrerequisite(id: EdgeId): Promise; findPrerequisites(criteria: { sourceId?: SkillId; targetId?: SkillId; type?: string; minStrength?: number; }): Promise; getPrerequisitesOf(skillId: SkillId): Promise; getDependentsOf(skillId: SkillId): Promise; getSubgraph(rootId: SkillId, depth: number): Promise; getRootSkills(): Promise; getLeafSkills(): Promise; getPath(fromId: SkillId, toId: SkillId): Promise; importGraph(nodes: SkillNodeInput[], edges: PrerequisiteEdgeInput[], options?: { clearExisting?: boolean; }): Promise; exportGraph(): Promise; clearAll(): Promise; getStats(): Promise; } //# sourceMappingURL=levelgraph.d.ts.map