/** * Command interfaces following Interface Segregation Principle * Each interface has a single, focused responsibility */ export interface CommandResult { success: boolean; message?: string; data?: any; error?: string; } export interface PathAnalysisOptions { path: string; recursive: boolean; resolvedPath: string; } export interface ICommandHandler { handle(args: string[], options?: any): Promise; getDescription(): string; getUsage(): string; } export interface ICommandRouter { registerCommand(name: string, handler: ICommandHandler): void; executeCommand(commandLine: string): Promise; listCommands(): string[]; getCommandHelp(commandName: string): string; } export interface IUserInterface { displayMessage?(message: string, type?: 'info' | 'success' | 'warning' | 'error'): void; promptUser?(question: string): Promise; displayProgress?(current: number, total: number, message?: string): void; clearScreen?(): void; displayProcessingResults?(results: any): void; getInitializationAction?(projectPath: string, projectType: string): Promise; confirm?(message: string): Promise; getProjectInitOptions?(): Promise; displayProjectInfo?(project: any): void; displaySearchResults?(results: any): void; displayAnalysisResults?(results: any): void; displayHelp?(): void; showError?(message: string): void; showSuccess?(message: string): void; [key: string]: any; } export interface IDatabaseManager { initialize?(): Promise; checkConnection?(): Promise; getStatus?(): Promise<{ postgres: boolean; redis: boolean; neo4j: boolean; }>; getProjectStats?(projectId: string): Promise; checkSystemHealth?(): Promise; getPostgresConnection?(): any; cleanup?(): Promise; [key: string]: any; } export interface IInterruptManager { registerInterruptHandler?(callback: () => Promise): void; triggerInterrupt?(reason: string): Promise; isInterrupted?(operationId?: string): boolean; wrapInterruptible?(operationId: string, description: string, operation: (updateCallback?: (partialResults: any) => void) => Promise): Promise; cleanup?(): void; [key: string]: any; } export interface IClaudeCodeForwarder { forwardToClaudeCode?(prompt: string, options?: any): Promise; isAvailable?(): boolean; getConfiguration?(): any; stopForwarding?(): void; [key: string]: any; } export interface IInstructionService { getInstructionsSummary?(projectPath: string): Promise; loadInstructions?(projectPath: string): Promise; loadProjectInstructions?(projectPath: string): Promise; updateInstructions?(projectPath: string, instructions: any): Promise; createSampleInstructions?(projectPath: string): Promise; clearCache?(): void; [key: string]: any; } //# sourceMappingURL=command-interfaces.d.ts.map