/**
 * Commit Manager
 * Orchestrates the commit workflow - combines diff generation and storage
 */
import { CommitStorage } from './commit-storage';
import { DiffEngine } from './diff-engine';
import { Commit, CommitOptions } from './types';
export declare class CommitManager {
    private storage;
    private diffEngine;
    constructor(projectRoot: string);
    /**
     * Initialize the commit system
     */
    initialize(): void;
    /**
     * Check if .bangstack directory exists
     */
    isInitialized(): boolean;
    /**
     * Create a new commit
     */
    createCommit(options: CommitOptions): Promise<Commit>;
    /**
     * Get commit history
     */
    getHistory(limit?: number): import("./types").CommitMetadata[];
    /**
     * Get a specific commit
     */
    getCommit(hash: string): Commit | null;
    /**
     * Get current HEAD commit
     */
    getHead(): Commit | null;
    /**
     * Reconstruct config state at a specific commit
     */
    reconstructConfig(hash: string): Promise<any>;
    /**
     * Show diff for a commit
     */
    showCommitDiff(hash: string): {
        commit: Commit;
        summary: any;
    } | null;
    /**
     * Get changes between two commits
     */
    getChangesBetween(fromHash: string, toHash: string): Promise<any>;
    /**
     * Revert to a specific commit (dangerous!)
     */
    revertTo(hash: string): Promise<void>;
    /**
     * Generate hash for commit
     */
    private generateHash;
    /**
     * Get default author from git config or system
     */
    private getDefaultAuthor;
    /**
     * Get storage instance (for advanced usage)
     */
    getStorage(): CommitStorage;
    /**
     * Get diff engine instance (for advanced usage)
     */
    getDiffEngine(): DiffEngine;
}
//# sourceMappingURL=commit-manager.d.ts.map