import { EventEmitter } from 'events'; /** * Database interface for CodeSeeker */ export interface DatabaseConfig { type: 'sqlite' | 'postgresql' | 'memory'; connectionString?: string; filePath?: string; host?: string; port?: number; database?: string; user?: string; password?: string; } export interface QueryResult { rows: any[]; rowCount: number; fields?: string[]; } export interface ClaudeDecision { id?: string; timestamp: Date; decision_type: 'auto' | 'minimal' | 'smart' | 'full' | 'intelligent_selection' | 'workflow_optimization' | 'tool_selection' | 'workflow_orchestration'; context: any; decision: any; metadata?: any; project_id?: string; } export interface PerformanceMetric { id?: string; tool: string; operation: string; duration: number; success: boolean; error_message?: string; created_at: Date; } /** * Mock Database implementation for CodeSeeker * This is a simplified version that stores data in memory or files */ export declare class Database extends EventEmitter { private config; private connected; private data; private dataFile?; constructor(config?: DatabaseConfig); connect(): Promise; disconnect(): Promise; query(sql: string, params?: any[]): Promise; private handleInsert; private handleSelect; private handleUpdate; private handleDelete; private handleCreateTable; private parseInsertValues; private parseUpdateValues; private saveData; recordDecision(decision: ClaudeDecision): Promise; recordMetric(metric: PerformanceMetric): Promise; getRecentDecisions(limit?: number): Promise; getPerformanceMetrics(tool?: string): Promise; getSystemPerformanceMetrics(): Promise; getToolUsageHistory(): Promise; recordClaudeDecision(decision: ClaudeDecision): Promise; getProjectByPath(path: string): Promise; initialize(): Promise; } export declare const database: Database; export default Database; //# sourceMappingURL=database.d.ts.map