import type Database from 'better-sqlite3'; import type { Definition } from '../../parser/definition-extractor.js'; import type { FileReference, ImportedSymbol, SymbolUsage } from '../../parser/reference-extractor.js'; import type { FileInsert } from '../schema.js'; export interface FileDetails { id: number; path: string; language: string; sizeBytes: number; modifiedAt: string; contentHash: string; } export interface FileInfo { id: number; path: string; language: string; sizeBytes: number; } export interface FileWithStats { id: number; path: string; importedByCount: number; importsCount: number; } export interface FileImportedBy { id: number; path: string; line: number; column: number; } export interface FileImport { id: number; toFileId: number | null; type: string; source: string; isExternal: boolean; isTypeOnly: boolean; line: number; column: number; toFilePath: string | null; } export declare class FileRepository { private db; constructor(db: Database.Database); insert(file: FileInsert): number; insertDefinition(fileId: number, def: Definition): number; insertReference(fromFileId: number, toFileId: number | null, ref: FileReference): number; insertSymbol(refId: number | null, defId: number | null, sym: ImportedSymbol, fileId?: number): number; insertUsage(symbolId: number, usage: SymbolUsage): void; getById(id: number): FileDetails | null; getIdByPath(path: string): number | null; getAll(): FileInfo[]; getAllWithHash(): Array<{ id: number; path: string; contentHash: string; }>; updateHash(fileId: number, contentHash: string, sizeBytes: number, modifiedAt: string): void; getAllWithStats(): FileWithStats[]; getOrphans(options?: { includeIndex?: boolean; includeTests?: boolean; }): Array<{ id: number; path: string; }>; getImports(fileId: number): FileImport[]; getImportedBy(fileId: number): FileImportedBy[]; getCount(): number; getReferenceCount(): number; getUsageCount(): number; } //# sourceMappingURL=file-repository.d.ts.map