import type { ACodeHookEvent, ACodeHookEventName, ACodeHookHandler, ACodeHookResult } from '../types.js';
export interface ACodeHookBusOptions {
    sessionId: string;
    now?: () => string;
    onError?: (event: ACodeHookEvent, error: unknown) => void;
}
export declare class ACodeHookBus {
    private readonly options;
    private readonly handlers;
    constructor(options: ACodeHookBusOptions);
    register(handler: ACodeHookHandler): void;
    /**
     * 分发 ACode 生命周期 Hook。
     * 主流程：按注册顺序执行 handler -> fail-open 记录错误 -> 遇到 deny 立即返回。
     */
    dispatch(name: ACodeHookEventName, data: Record<string, unknown>): Promise<ACodeHookResult[]>;
}
export declare function findDeniedHookResult(results: readonly ACodeHookResult[]): ACodeHookResult | undefined;
//# sourceMappingURL=hookBus.d.ts.map