/**
 * Work Lifecycle Hook Manager
 *
 * Subscribes to work lifecycle events on the global EventBus and
 * executes matching hook configurations from the database.
 *
 * Hooks are fire-and-forget: execution failures are logged but never
 * block the caller or break the event emission chain.
 */
import type Database from 'better-sqlite3';
/**
 * HookManager loads hook configs from the database and subscribes to
 * the global EventBus. When a hookable event fires, it finds all
 * enabled hooks for that event and executes them.
 */
export declare class HookManager {
    private unsubscribers;
    private hookStorage;
    constructor(db: Database.Database);
    /**
     * Start listening for hookable events on the global EventBus.
     * For each event, looks up enabled hooks and executes them.
     */
    start(): void;
    /**
     * Stop listening for events and clean up subscriptions.
     */
    stop(): void;
    /**
     * Handle a hookable event by executing all matching enabled hooks.
     * Hook failures are swallowed to avoid breaking the event chain.
     */
    private handleEvent;
}
/**
 * Initialize and start the hook manager.
 * Safe to call multiple times — subsequent calls are no-ops.
 */
export declare function initHookManager(db: Database.Database): HookManager;
/**
 * Stop the hook manager (primarily for testing).
 */
export declare function stopHookManager(): void;
