/** * 데이터베이스 추상화 인터페이스 * 의존성 역전 원칙(DIP) 적용 */ export interface PreparedStatement { all(...params: unknown[]): unknown[]; get(...params: unknown[]): unknown; run(...params: unknown[]): { changes: number; lastInsertRowid: number; }; } export interface DatabaseConnection { prepare(sql: string): PreparedStatement; exec(sql: string): void; close(): void; isOpen(): boolean; } export interface VectorSearchRepository { search(query: VectorSearchQuery): Promise; hybridSearch(query: VectorSearchQuery): Promise; getIndexStatus(): VectorIndexStatus; rebuildIndex(): Promise; getTableName(provider: string): string; checkVecAvailability(): boolean; } export interface VectorIndexRepository { getIndexStatus(): VectorIndexStatus; rebuildIndex(): Promise; checkAvailability(): boolean; } export interface VectorPerformanceRepository { runPerformanceTest(queryVector: number[], iterations: number): Promise; } import type { PerformanceTestResult, VectorIndexStatus, VectorSearchQuery, VectorSearchResult } from '../types/vector-search.types'; //# sourceMappingURL=database.interface.d.ts.map