import { EventEmitter } from 'events';
export interface HookConfig {
    name: string;
    type: 'python' | 'javascript' | 'shell';
    path: string;
    enabled: boolean;
    timeout: number;
    permissions?: string[];
}
export interface HookResult {
    success: boolean;
    output?: string;
    error?: string;
    exitCode?: number;
    duration: number;
}
export declare class HookManager extends EventEmitter {
    private hooks;
    private hookDirectory;
    constructor(hookDirectory?: string);
    /**
     * Initialize hook manager and scan for hooks
     */
    initialize(): Promise<void>;
    /**
     * Scan directory for hooks
     */
    private scanHooks;
    /**
     * Validate hooks can execute
     */
    private validateHooks;
    /**
     * Validate Python hook
     */
    private validatePythonHook;
    /**
     * Validate JavaScript hook
     */
    private validateJavaScriptHook;
    /**
     * Validate shell hook
     */
    private validateShellHook;
    /**
     * Execute a hook
     */
    executeHook(hookName: string, args?: string[]): Promise<HookResult>;
    /**
     * Execute Python hook
     */
    private executePythonHook;
    /**
     * Execute JavaScript hook
     */
    private executeJavaScriptHook;
    /**
     * Execute shell hook
     */
    private executeShellHook;
    /**
     * Get hook status
     */
    getHookStatus(): Array<{
        name: string;
        type: string;
        enabled: boolean;
        path: string;
    }>;
    /**
     * Enable/disable hook
     */
    setHookEnabled(hookName: string, enabled: boolean): boolean;
    /**
     * Disable all Python hooks (for troubleshooting)
     */
    disablePythonHooks(): void;
}
//# sourceMappingURL=hookManager.d.ts.map