/** * Tool Database API - Refactored with SOLID Principles * SOLID Principles: Single Responsibility, Dependency Inversion * Reduced from 951 lines to ~150 lines using service extraction */ import { IToolDataService, ISemanticSearchService, ICodeDuplicationsService, DatabaseConfig } from './interfaces'; declare const router: import("express-serve-static-core").Router; /** * Main Tool Database API Coordinator * Uses dependency injection for all database operations */ export declare class ToolDatabaseAPI { private toolDataService?; private semanticSearchService?; private codeDuplicationsService?; private db; constructor(config?: DatabaseConfig, toolDataService?: IToolDataService, semanticSearchService?: ISemanticSearchService, codeDuplicationsService?: ICodeDuplicationsService); initialize(): Promise; query(text: string, params?: any[]): Promise; close(): Promise; saveToolData(projectId: string, toolName: string, data: any): Promise; getToolData(projectId: string, toolName: string, options?: any): Promise; deleteToolData(projectId: string, toolName: string): Promise; getSemanticSearchData(projectId: string, filters?: any): Promise; saveSemanticSearchData(projectId: string, data: any[]): Promise; saveSemanticSearch(projectId: string, data: any[]): Promise; getSemanticSearch(projectId: string, filters?: any): Promise; getCodeDuplications(projectId: string, filters?: any): Promise; saveCodeDuplications(projectId: string, data: any[]): Promise; deleteCodeDuplications(projectId: string): Promise; /** * Get comprehensive project data across all tools */ getProjectOverview(projectId: string): Promise; /** * Clean all data for a project */ cleanProjectData(projectId: string): Promise; /** * Health check for all services */ healthCheck(): Promise; } export declare const toolDB: ToolDatabaseAPI; export { router as toolDatabaseRouter }; export default ToolDatabaseAPI; //# sourceMappingURL=tool-database-api.d.ts.map