/**
 * Git Integration for Graph-Deep Diff Analysis
 * Handles git operations for baseline comparisons
 */
import { GitFileChange } from './graph-diff-types';
/**
 * Git integration class for handling repository operations
 */
export declare class GitIntegrator {
    private repoPath;
    constructor(repoPath: string);
    /**
     * Validate that the path is a git repository
     */
    private validateGitRepo;
    /**
     * Get the current git reference (branch or commit)
     */
    getCurrentRef(): string;
    /**
     * Check if a git reference exists
     */
    refExists(ref: string): boolean;
    /**
     * Get list of files at a specific git reference
     */
    getFilesAtRef(ref: string, patterns?: string[]): string[];
    /**
     * Get file content at a specific git reference
     */
    getFileContentAtRef(filePath: string, ref: string): string;
    /**
     * Create temporary directory with files from a git reference
     */
    createTempWorkspace(ref: string, patterns?: string[]): Promise<string>;
    /**
     * Get changes between two references
     */
    getChangesBetween(baseRef: string, currentRef?: string): GitFileChange[];
    /**
     * Get list of recent commits
     */
    getRecentCommits(count?: number): Array<{
        hash: string;
        message: string;
        date: string;
    }>;
    /**
     * Resolve reference to actual commit hash
     */
    resolveRef(ref: string): string;
    /**
     * Get the previous commit hash
     */
    private getPreviousCommit;
    /**
     * Simple pattern matching for file paths
     */
    private matchPattern;
    /**
     * Cleanup temporary workspace
     */
    cleanupWorkspace(workspacePath: string): void;
    /**
     * Check if working directory is clean
     */
    isWorkingDirectoryClean(): boolean;
    /**
     * Get current branch name
     */
    getCurrentBranch(): string;
}
