/**
 * Git Workflow Utilities
 *
 * Shared utilities for git operations including command execution,
 * diff parsing, and analysis functions.
 */
import type { CommitType, DiffAnalysis, EnhancedStatus, FileChange } from './types.js';
/**
 * Execute a git command and return the output
 */
export declare function execGit(args: string[]): Promise<string>;
/**
 * Check if current directory is a git repository
 */
export declare function isGitRepository(): Promise<boolean>;
/**
 * Get the current branch name
 */
export declare function getCurrentBranch(): Promise<string>;
/**
 * Get the default branch (main or master)
 */
export declare function getDefaultBranch(): Promise<string>;
/**
 * Parse git diff --stat output to extract file changes
 */
export declare function parseDiffStat(diffStat: string): FileChange[];
/**
 * Parse git status --porcelain output
 */
export declare function parseGitStatus(statusOutput: string): {
    staged: FileChange[];
    unstaged: FileChange[];
    untracked: string[];
    conflicts: string[];
};
/**
 * Analyze staged changes to suggest commit type
 */
export declare function analyzeChangesForCommitType(files: FileChange[]): CommitType;
/**
 * Suggest a scope based on file paths
 */
export declare function suggestScope(files: FileChange[]): string | undefined;
/**
 * Analyze staged changes comprehensively
 */
export declare function analyzeStagedChanges(): Promise<DiffAnalysis>;
/**
 * Get enhanced git status
 */
export declare function getEnhancedStatus(): Promise<EnhancedStatus>;
/**
 * Get commits between current branch and target
 */
export declare function getCommitsBetween(targetBranch: string): Promise<Array<{
    hash: string;
    subject: string;
    body: string;
}>>;
/**
 * Get list of contributors who have modified the changed files
 */
export declare function getSuggestedReviewers(files: FileChange[]): Promise<string[]>;
//# sourceMappingURL=utils.d.ts.map