/** * Core project interfaces following Interface Segregation Principle * Each interface has a single, focused responsibility */ export interface IProjectDetector { detectProjectType?(projectPath: string): Promise; detectProject?(projectPath: string): Promise; getProjectConfig?(projectPath: string): Promise; [key: string]: any; } export interface InitializationResult { success: boolean; config?: ProjectConfig; error?: string; } export interface IProjectInitializer { initializeProject(projectPath: string, options: ProjectInitOptions, syncMode?: boolean): Promise; createProjectStructure(config: ProjectConfig): Promise; } export interface ILanguageDetector { detectLanguages(projectPath: string): Promise; setupLanguageSupport(languages: string[]): Promise; } export interface IProjectRegistry { registerProject(config: ProjectConfig): Promise; updateProject(projectId: string, updates: Partial): Promise; getProject(projectId: string): Promise; } export interface ProjectConfig { projectId: string; projectName: string; projectPath: string; projectType?: string; languages: string[]; primaryLanguage?: string; installedParsers?: string[]; frameworks?: string[]; features?: string[]; createdAt: string; lastUpdated?: string; total_files?: number; statistics?: any; [key: string]: any; } export interface ProjectInitOptions { projectName: string; projectType: string; features: string[]; resumeToken?: string; } export interface LanguageSetupResult { detectedLanguages: string[]; selectedLanguages: string[]; installedPackages: string[]; errors: string[]; } //# sourceMappingURL=project-interfaces.d.ts.map