import * as sqlite3 from 'sqlite3'; import { BaseRepositoryImpl } from './base-repository'; import { Module, ModuleSymbol } from '../models/module'; /** * Repository for X-Dimension: Modules */ export declare class ModuleRepository extends BaseRepositoryImpl { constructor(db: sqlite3.Database); create(module: Module): Promise; getById(id: string, pluginId: string): Promise; getByFilePath(filePath: string, pluginId: string): Promise; update(module: Module): Promise; delete(id: string, pluginId: string): Promise; getAll(pluginId: string): Promise; exists(id: string, pluginId: string): Promise; /** * Gets a module by file path. */ findByFilePath(filePath: string, pluginId: string): Promise; /** * Finds a module by file path using LIKE pattern matching (for flexible path matching). * Returns the first match found. */ findByFilePathLike(filePath: string, pluginId: string): Promise; /** * Gets modules by content hash (for change detection). */ findByContentHash(contentHash: string, pluginId: string): Promise; /** * Creates a module symbol association. */ createModuleSymbol(moduleSymbol: ModuleSymbol): Promise; /** * Gets all symbols for a module. */ getModuleSymbols(moduleId: string): Promise; /** * Maps a database row to a Module object. */ private mapRowToModule; } //# sourceMappingURL=module-repository.d.ts.map