import Database from 'better-sqlite3'; import { DatabaseNode, DatabaseRelationship, DatabaseConfig, NodeType, GraphQuery, IndexStats } from './types'; import { Repository } from './models'; export declare class CodeGraphDatabase { private db; private config; private isInitialized; constructor(config: DatabaseConfig); initialize(): Promise; private runMigrations; private getCurrentSchemaVersion; createNode(node: DatabaseNode): Promise; createNodes(nodes: DatabaseNode[]): Promise; getNode(id: string): Promise; findNodes(query: GraphQuery): Promise; deleteNode(id: string): Promise; deleteNodesByRepository(repository: string): Promise; createRelationship(relationship: DatabaseRelationship): Promise; createRelationships(relationships: DatabaseRelationship[]): Promise; getRelationship(id: string): Promise; findRelationships(query: GraphQuery): Promise; deleteRelationship(id: string): Promise; findCallers(nodeId: string, maxDepth?: number): Promise; findCallees(nodeId: string, maxDepth?: number): Promise; findImplementations(interfaceId: string): Promise; findReferences(symbolId: string): Promise; findDependencies(nodeId: string, direction?: 'inbound' | 'outbound'): Promise; searchByName(searchTerm: string, nodeTypes?: NodeType[]): Promise; getFileSymbols(filePath: string, repository: string): Promise; createRepository(repository: Repository): Promise; getRepository(name: string): Promise; getAllRepositories(): Promise; deleteRepository(name: string): Promise; getIndexStats(): Promise; getRepositoryStats(repository: string): Promise; vacuum(): Promise; analyze(): Promise; close(): void; transaction(fn: () => T): T; prepare(sql: string): Database.Statement; exec(sql: string): void; } //# sourceMappingURL=Database.d.ts.map