import type Database from 'better-sqlite3'; import type { Definition } from '../../parser/definition-extractor.js'; export interface DefinitionInfo { id: number; filePath: string; name: string; kind: string; line: number; endLine: number; isExported: boolean; } export interface DefinitionDetails { id: number; fileId: number; filePath: string; name: string; kind: string; isExported: boolean; isDefault: boolean; line: number; column: number; endLine: number; endColumn: number; extendsName: string | null; implementsNames: string[] | null; extendsInterfaces: string[] | null; } export interface DefinitionListItem { id: number; fileId: number; name: string; kind: string; isExported: boolean; isDefault: boolean; line: number; column: number; endLine: number; extendsName: string | null; } export interface FileDefinition { id: number; name: string; kind: string; isExported: boolean; isDefault: boolean; line: number; column: number; endLine: number; endColumn: number; extendsName: string | null; implementsNames: string[] | null; } export interface SymbolInfo { id: number; name: string; kind: string; filePath: string; line: number; } export interface ClassHierarchyNode { id: number; name: string; kind: string; extendsName: string | null; } export interface ClassHierarchyLink { source: number; target: number; type: string; } export declare class DefinitionRepository { private db; constructor(db: Database.Database); getByName(fileId: number, name: string): number | null; getAllByName(name: string): DefinitionInfo[]; getById(id: number): DefinitionDetails | null; getCount(): number; getByFileId(fileId: number): Array<{ id: number; name: string; kind: string; isExported: boolean; isDefault: boolean; line: number; column: number; endLine: number; endColumn: number; declarationEndLine: number; declarationEndColumn: number; extendsName: string | null; implementsNames: string | null; extendsInterfaces: string | null; }>; updateDefinition(defId: number, updates: { isExported: boolean; isDefault: boolean; line: number; column: number; endLine: number; endColumn: number; declarationEndLine: number; declarationEndColumn: number; extendsName: string | null; implementsNames: string | null; extendsInterfaces: string | null; }): void; getForFile(fileId: number): FileDefinition[]; getAll(filters?: { kind?: string; exported?: boolean; }): DefinitionListItem[]; getSubclasses(className: string): Definition[]; getImplementations(interfaceName: string): Definition[]; getClassHierarchy(): { nodes: ClassHierarchyNode[]; links: ClassHierarchyLink[]; }; getSymbols(filters?: { kind?: string; fileId?: number; }): SymbolInfo[]; getKindCounts(): Record; getFilteredCount(filters?: { kind?: string; filePattern?: string; }): number; } //# sourceMappingURL=definition-repository.d.ts.map