/** * Git Integration - Refactored with SOLID Principles * SOLID Principles: Single Responsibility, Dependency Inversion * Reduced from 1006 lines to ~150 lines using service extraction */ import { IGitOperationsService, IGitAnalysisService, IGitDatabaseService, IGitAutoCommitService, GitCommitInfo, GitDiffResult, ChangeSignificance, CommitAnalysis, AutoCommitRules } from './interfaces'; /** * Main Git Integration Coordinator * Uses dependency injection for all Git operations */ export declare class GitIntegration { private gitOps?; private gitAnalysis?; private gitDatabase?; private gitAutoCommit?; private logger; private projectPath; constructor(projectPath?: string, gitOps?: IGitOperationsService, gitAnalysis?: IGitAnalysisService, gitDatabase?: IGitDatabaseService, gitAutoCommit?: IGitAutoCommitService); getCurrentCommit(): Promise; getCommitsSince(since: string): Promise; getDiffBetweenCommits(from: string, to?: string): Promise; getWorkingDirectoryDiff(projectPath: string): Promise; getStagedFiles(projectPath: string): Promise; isGitRepository(): Promise; analyzeChangeSignificance(diff: GitDiffResult[]): Promise; analyzeCommitRange(projectPath: string, from: string, to: string): Promise; compilesSuccessfully(): Promise; recordCommit(commit: GitCommitInfo, significance: ChangeSignificance, autoCommitted?: boolean): Promise; updateDatabaseFromGitHistory(): Promise; getCommitHistory(limit?: number): Promise; getIntegrationStatus(projectPath: string): Promise; performAutoCommit(significance: ChangeSignificance): Promise; configureAutoCommit(projectPath: string, rules: Partial): Promise; startAutoCommitWatcher(): Promise; stopAutoCommitWatcher(): Promise; /** * Complete workflow: analyze changes and optionally auto-commit */ processChanges(): Promise<{ diff: GitDiffResult[]; significance: ChangeSignificance; committed: boolean; }>; /** * Initialize Git integration for project */ initialize(): Promise; /** * Cleanup resources */ cleanup(): Promise; } //# sourceMappingURL=git-integration.d.ts.map