import type { IntentMiddleware } from "./middleware"; import type { EffectDef, EffectMode } from "./effect"; import type { IntentContext } from "./types"; export type IntentHandler = (context: IntentContext) => void | Promise; export declare class IntentBus { private handlers; private effects; private middlewares; private effectModes; use: (mw: IntentMiddleware) => void; setEffectMode: (type: string, mode: EffectMode) => void; effect:

(type: string, eff: EffectDef) => void; on:

(type: string, handler: IntentHandler) => (() => void); emit: (type: string, context: IntentContext) => Promise; clear: () => void; } export declare const createIntentBus: () => IntentBus;