/**
 * Commit Storage
 * Handles filesystem operations for commits
 */
import { Commit, CommitIndex, CommitMetadata, BangstackDirectory } from './types';
export declare class CommitStorage {
    private bangstackDir;
    constructor(projectRoot: string);
    /**
     * Initialize .bangstack directory structure
     */
    initialize(): void;
    /**
     * Check if .bangstack directory exists
     */
    exists(): boolean;
    /**
     * Save a commit to disk
     */
    saveCommit(commit: Commit): void;
    /**
     * Load a commit from disk
     */
    loadCommit(hash: string): Commit | null;
    /**
     * Load commit index
     */
    loadIndex(): CommitIndex;
    /**
     * Save commit index
     */
    saveIndex(index: CommitIndex): void;
    /**
     * Update index with new commit
     */
    updateIndex(commit: Commit): void;
    /**
     * Get commit history (like git log)
     */
    getHistory(limit?: number): CommitMetadata[];
    /**
     * Get current HEAD commit
     */
    getHead(): Commit | null;
    /**
     * Get config file path
     */
    getConfigPath(): string;
    /**
     * Check if config file exists
     */
    hasConfig(): boolean;
    /**
     * Load config file
     */
    loadConfig(): string;
    /**
     * Save config file
     */
    saveConfig(content: string): void;
    /**
     * Get list of all commit hashes
     */
    listCommits(): string[];
    /**
     * Check if commit exists
     */
    hasCommit(hash: string): boolean;
    /**
     * Delete a commit (use with caution!)
     */
    deleteCommit(hash: string): void;
    /**
     * Get directory paths
     */
    getDirectories(): BangstackDirectory;
}
//# sourceMappingURL=commit-storage.d.ts.map