/**
 * Supported hook manager types
 */
export type HookManagerType = 'husky' | 'lefthook' | 'pre-commit' | 'git';
/**
 * Configuration for hook installation
 */
export interface HookConfig {
    /** Hook manager to use (auto-detect if not specified) */
    manager?: HookManagerType;
    /** Enable auto-fix in hook */
    fix?: boolean;
    /** Only lint staged files */
    staged?: boolean;
    /** File patterns to lint */
    patterns?: string[];
}
/**
 * Result of hook installation/uninstallation
 */
export interface HookInstallResult {
    /** Whether operation was successful */
    success: boolean;
    /** Hook manager used */
    manager: HookManagerType;
    /** Path to hook file */
    hookPath: string;
    /** Human-readable message */
    message: string;
}
/**
 * Manages Git pre-commit hooks for cclint.
 */
export declare class HookManager {
    private rootDir;
    constructor(rootDir: string);
    /**
     * Detect which hook manager is being used in the project
     */
    detect(): HookManagerType | null;
    /**
     * Install cclint pre-commit hook
     */
    install(config?: HookConfig): HookInstallResult;
    /**
     * Uninstall cclint pre-commit hook
     */
    uninstall(): HookInstallResult;
    /**
     * Check if cclint hook is installed
     */
    isInstalled(): boolean;
    private buildCommand;
    private installHusky;
    private installLefthook;
    private installPreCommit;
    private installGitHook;
    private uninstallHusky;
    private uninstallLefthook;
    private uninstallPreCommit;
    private uninstallGitHook;
}
//# sourceMappingURL=HookManager.d.ts.map