export interface HookConfig {
    enabled: boolean;
    autoInstall: boolean;
    lastChecked: string;
    installedHooks: string[];
    userDisabled: boolean;
}
export interface UserPreferences {
    hooksEnabled: boolean;
    autoInstallHooks: boolean;
    rememberChoice: boolean;
}
export declare class HookManager {
    private projectRoot;
    private configPath;
    private hooksDir;
    private config;
    constructor(projectRoot: string);
    /**
     * Intelligent hook detection and auto-installation
     */
    intelligentHookManagement(): Promise<void>;
    /**
     * Check if hooks need installation or update
     */
    private checkHooksNeedInstallation;
    /**
     * Install hooks quietly without user interaction
     */
    private installHooksQuietly;
    /**
     * Explicitly install hooks (user requested)
     */
    installHooks(force?: boolean): Promise<void>;
    /**
     * Disable hooks (user preference)
     */
    disableHooks(): Promise<void>;
    /**
     * Enable hooks (user preference)
     */
    enableHooks(): Promise<void>;
    /**
     * Check if we're in a git repository
     */
    private isGitRepository;
    /**
     * Copy introspection script if needed
     */
    private copyIntrospectionScript;
    /**
     * Display installed hooks information
     */
    private displayInstalledHooks;
    /**
     * Get hook status for display
     */
    getHookStatus(): Promise<{
        installed: boolean;
        enabled: boolean;
        hooks: string[];
    }>;
    /**
     * Load hook configuration
     */
    private loadConfig;
    /**
     * Save hook configuration
     */
    private saveConfig;
    /**
     * Check if hooks are disabled by user preference
     */
    areHooksDisabled(): boolean;
    /**
     * Check if auto-installation is enabled
     */
    isAutoInstallEnabled(): boolean;
}
//# sourceMappingURL=HookManager.d.ts.map