import 'reflect-metadata'; import { ActionDefinition, ActionHandlerDefinition, ExposeEventDefinition } from './definitions'; import { ConsumeEventDefinition } from "../../../bus/messageBus"; import { EventDefinition } from "../../../bus/messageBus"; /** * Define an action handler * * @export * @param {ActionDefinition} [def] * @returns */ export declare function Action(def: ActionDefinition, metadata?: any): (target: any, key: any) => void; export declare function ExposeEvent(def?: ExposeEventDefinition): (target: any, key: any) => void; /** * Define an event handler * * @export * @param {ConsumeEventDefinition} [consumeMetadata] * @returns */ export declare function Consume(def?: ConsumeEventDefinition, metadata?: any): (target: any, key: any) => void; /** * Define an action handler class * * @export * @param {ActionHandlerDefinition} def * @returns */ export declare function ActionHandler(def: ActionHandlerDefinition, metadata?: any): (target: Function) => void; /** * Define an event handler class * * @export * @param {EventDefinition} [metadata] * @returns */ export declare function EventHandler(def?: EventDefinition, metadata?: any): (target: Function) => void;