export interface GitChangeInfo { files: string[]; additions: number; deletions: number; diff: string; branch: string; staged: boolean; } export declare class GitAnalyzer { private git; private static readonly LOCK_FILE_PATTERNS; constructor(workingDir?: string); private shouldExcludeFile; private filterDiff; isGitRepository(): Promise; getStagedChanges(): Promise; getUnstagedChanges(): Promise; getAllChanges(): Promise; getBranchDiff(targetBranch?: string): Promise; getCurrentBranch(): Promise; getRecentCommits(count?: number): Promise; hasChanges(): Promise; hasStagedChanges(): Promise; stageAll(): Promise; stageFiles(files: string[]): Promise; commit(message: string): Promise; getRemoteBranches(): Promise; getLocalBranches(): Promise; formatDiffForAI(changeInfo: GitChangeInfo): string; chunkDiffString(diff: string, maxDiffSize?: number, chunkOverlap?: number): string[]; }