import { DiffProviderPort, LLMPort, OutputPort, GitHubPort } from '../ports'; export interface SummarizePROptions { 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 includeStats?: boolean; readonly includeFileList?: boolean; readonly includeCommitHistory?: boolean; readonly postToGitHub?: boolean; readonly githubOwner?: string; readonly githubRepo?: string; readonly pullRequestNumber?: number; } export interface PRSummary { readonly title: string; readonly description: string; readonly changes: string[]; readonly filesChanged: number; readonly linesAdded: number; readonly linesRemoved: number; readonly commits: number; readonly impact: 'low' | 'medium' | 'high'; readonly categories: string[]; readonly recommendations: string[]; } export interface SummarizePRUseCase { execute(options?: SummarizePROptions): Promise; } export declare class SummarizePRUseCaseImpl implements SummarizePRUseCase { private readonly diffProvider; private readonly llmPort; private readonly outputPort; private readonly githubPort?; constructor(diffProvider: DiffProviderPort, llmPort: LLMPort, outputPort: OutputPort, githubPort?: GitHubPort | undefined); execute(options?: SummarizePROptions): Promise; private getCommitInformation; private generateSummary; private calculateStatistics; private generateAISummary; private createSummaryPrompt; private parseAISummary; private generateFallbackSummary; private determineImpact; private categorizeChanges; private generateRecommendations; private outputSummary; private postSummaryToGitHub; } //# sourceMappingURL=SummarizePRUseCase.d.ts.map