import type { HookDefinition, HookEventPayload, HookExecutionLog } from '../../types/index.js';
/**
 * Execute a single hook for the given payload.
 * Returns a complete execution log entry.
 */
export declare function executeHook(hook: HookDefinition, payload: HookEventPayload, depth: number): HookExecutionLog;
/**
 * Dispatch an event to all matching enabled hooks.
 * Fire-and-forget — errors in hooks are captured in the log, never thrown.
 * Returns execution logs for all fired hooks.
 *
 * @param hooks - List of all hooks for the project
 * @param payload - Event payload to dispatch
 * @param depth - Current recursion depth (starts at 0)
 */
export declare function dispatchEvent(hooks: HookDefinition[], payload: HookEventPayload, depth?: number): HookExecutionLog[];
/**
 * Simulate hook execution without side effects (dry run).
 * Returns which hooks would fire and what actions they would execute.
 */
export declare function dryRunDispatch(hooks: HookDefinition[], payload: HookEventPayload): {
    hook: HookDefinition;
    wouldFire: boolean;
    reason?: string;
}[];
//# sourceMappingURL=core.d.ts.map