import { DiffProviderPort, LLMPort, OutputPort } from '../ports'; export interface RefactorOptions { readonly baseRef?: string; readonly headRef?: string; readonly includeStaged?: boolean; readonly includeUnstaged?: boolean; readonly filePatterns?: string[]; readonly excludePatterns?: string[]; readonly outputFormat?: 'console' | 'markdown' | 'json' | 'html' | 'file'; readonly outputPath?: string; readonly focus?: ('performance' | 'readability' | 'maintainability' | 'architecture')[]; readonly severity?: 'minor' | 'moderate' | 'major'; } export interface RefactorSuggestion { readonly id: string; readonly filePath: string; readonly lineNumber?: number; readonly currentCode: string; readonly suggestedCode: string; readonly reason: string; readonly impact: 'low' | 'medium' | 'high'; readonly effort: 'low' | 'medium' | 'high'; readonly category: 'performance' | 'readability' | 'maintainability' | 'architecture' | 'style'; } export interface SuggestRefactorUseCase { execute(options?: RefactorOptions): Promise; } export declare class SuggestRefactorUseCaseImpl implements SuggestRefactorUseCase { private readonly diffProvider; private readonly llmPort; private readonly outputPort; constructor(diffProvider: DiffProviderPort, llmPort: LLMPort, outputPort: OutputPort); execute(options?: RefactorOptions): Promise; private analyzeRefactoringOpportunities; private createRefactorPrompt; private parseRefactorSuggestions; private outputRefactorSuggestions; } //# sourceMappingURL=SuggestRefactorUseCase.d.ts.map