/**
 * Git Hooks Manager
 *
 * Manages Git hooks for TTL file versioning and automatic re-analysis
 * when TTL files are modified by developers.
 */
import { EventEmitter } from 'events';
export interface GitHookConfig {
    projectRoot: string;
    ttlDirectories: string[];
    ttlPatterns: string[];
    enablePreCommitHook: boolean;
    enablePostCommitHook: boolean;
    enablePostMergeHook: boolean;
    autoReanalyzeOnTTLChange: boolean;
}
export interface TTLFileChange {
    filePath: string;
    changeType: 'added' | 'modified' | 'deleted';
    timestamp: Date;
    commitHash?: string;
    author?: string;
}
export interface GitHookEvent {
    type: 'pre-commit' | 'post-commit' | 'post-merge';
    ttlChanges: TTLFileChange[];
    timestamp: Date;
    commitHash?: string;
}
/**
 * Git Hooks Manager for TTL File Versioning
 */
export declare class GitHooksManager extends EventEmitter {
    private config;
    private git;
    private isInitialized;
    constructor(config: GitHookConfig);
    /**
     * Initialize Git hooks for TTL file monitoring
     */
    initialize(): Promise<void>;
    /**
     * Install pre-commit hook to validate TTL files before commit
     */
    private installPreCommitHook;
    /**
     * Install post-commit hook to trigger re-analysis after TTL changes
     */
    private installPostCommitHook;
    /**
     * Install post-merge hook to handle TTL conflicts and re-analysis
     */
    private installPostMergeHook;
    /**
     * Validate staged TTL files before commit
     */
    validateStagedTTLFiles(): Promise<boolean>;
    /**
     * Handle post-commit re-analysis
     */
    handlePostCommitReanalysis(): Promise<void>;
    /**
     * Handle post-merge re-analysis and conflict resolution
     */
    handlePostMergeReanalysis(): Promise<void>;
    /**
     * Get changed TTL files from a commit
     */
    private getChangedTTLFiles;
    /**
     * Validate TTL content
     */
    private validateTTLContent;
    /**
     * Detect TTL conflicts after merge
     */
    private detectTTLConflicts;
    /**
     * Resolve TTL conflicts by triggering re-analysis
     */
    private resolveTTLConflicts;
    /**
     * Trigger re-analysis for changed TTL files
     */
    private triggerReanalysis;
    /**
     * Uninstall Git hooks
     */
    uninstall(): Promise<void>;
    /**
     * Get Git hooks status
     */
    getStatus(): Promise<any>;
}
//# sourceMappingURL=GitHooksManager.d.ts.map