import type { RepomixConfigMerged } from '../../config/configSchema.js';
export interface GitDiffResult {
    workTreeDiffContent: string;
    stagedDiffContent: string;
}
export declare const getWorkTreeDiff: (directory: string, deps?: {
    execGitDiff: (directory: string, options?: string[], deps?: {
        execFileAsync: typeof import("child_process").execFile.__promisify__;
    }) => Promise<string>;
    isGitRepository: (directory: string, deps?: {
        execGitRevParse: (directory: string, deps?: {
            execFileAsync: typeof import("child_process").execFile.__promisify__;
        }) => Promise<string>;
    }) => Promise<boolean>;
}) => Promise<string>;
export declare const getStagedDiff: (directory: string, deps?: {
    execGitDiff: (directory: string, options?: string[], deps?: {
        execFileAsync: typeof import("child_process").execFile.__promisify__;
    }) => Promise<string>;
    isGitRepository: (directory: string, deps?: {
        execGitRevParse: (directory: string, deps?: {
            execFileAsync: typeof import("child_process").execFile.__promisify__;
        }) => Promise<string>;
    }) => Promise<boolean>;
}) => Promise<string>;
export declare const getGitDiffs: (rootDirs: string[], config: RepomixConfigMerged, deps?: {
    getWorkTreeDiff: (directory: string, deps?: {
        execGitDiff: (directory: string, options?: string[], deps?: {
            execFileAsync: typeof import("child_process").execFile.__promisify__;
        }) => Promise<string>;
        isGitRepository: (directory: string, deps?: {
            execGitRevParse: (directory: string, deps?: {
                execFileAsync: typeof import("child_process").execFile.__promisify__;
            }) => Promise<string>;
        }) => Promise<boolean>;
    }) => Promise<string>;
    getStagedDiff: (directory: string, deps?: {
        execGitDiff: (directory: string, options?: string[], deps?: {
            execFileAsync: typeof import("child_process").execFile.__promisify__;
        }) => Promise<string>;
        isGitRepository: (directory: string, deps?: {
            execGitRevParse: (directory: string, deps?: {
                execFileAsync: typeof import("child_process").execFile.__promisify__;
            }) => Promise<string>;
        }) => Promise<boolean>;
    }) => Promise<string>;
}) => Promise<GitDiffResult | undefined>;
//# sourceMappingURL=gitDiffHandle.d.ts.map