import type Database from 'better-sqlite3';
import type { SynapseManager } from '../synapses/synapse-manager.js';
export interface GitCommitInfo {
    hash: string;
    message: string;
    author: string;
    timestamp: string;
    filesChanged: number;
    insertions: number;
    deletions: number;
}
export declare class GitService {
    private db;
    private synapseManager;
    private logger;
    constructor(db: Database.Database, synapseManager: SynapseManager);
    /**
     * Get current git info for context enrichment
     */
    getGitContext(cwd?: string): {
        branch: string | null;
        diff: string | null;
        lastCommit: string | null;
    };
    /**
     * Store a git commit and link it to an error
     */
    linkErrorToCommit(errorId: number, projectId: number, commitHash: string, relationship?: string): void;
    /**
     * Find which commit introduced an error
     */
    findIntroducingCommit(errorId: number): Array<{
        commitHash: string;
        message: string;
        relationship: string;
    }>;
    /**
     * Find errors introduced by a specific commit
     */
    findErrorsByCommit(commitHash: string): Array<{
        errorId: number;
        relationship: string;
    }>;
    /**
     * Capture current git diff for error context
     */
    captureDiff(cwd?: string): string | null;
    private getCommitInfo;
}
