import type { DispatchMiddleware } from "./dispatch-middleware.js";
export interface WithMessageHooksOptions {
    /**
     * Optional notification fired when a hook throws asynchronously.
     * Production logs via `logVerbose`; this lets callers inject their
     * own logger without coupling the middleware to a global.
     */
    onHookError?: (info: {
        source: "plugin" | "internal";
        error: unknown;
    }) => void;
}
/**
 * Returns a DispatchMiddleware that fires `message_received` hooks
 * (plugin + internal). Always proceeds; hooks are fire-and-forget.
 */
export declare function withMessageHooks(opts?: WithMessageHooksOptions): DispatchMiddleware;
