import { IContainer } from '../../di/resolvers'; import { IScopedComponent } from '../../di/annotations'; import 'reflect-metadata'; import { IRequestContext } from "../../pipeline/common"; import { EventNotificationMode, EventData } from "../../bus/messageBus"; export interface IActionMetadata { eventMode?: EventNotificationMode; action: string; scope?: string; schema: string; inputSchema?: string; metadata?: any; } export declare abstract class AbstractHandler implements IScopedComponent { container: IContainer; private _requestContext; constructor(container: IContainer); context: IRequestContext; readonly metadata: IActionMetadata; } export declare abstract class AbstractActionHandler extends AbstractHandler { protected defineCommand?(metadata: any): any; protected createDefaultCommand?(): any; } export declare abstract class AbstractEventHandler extends AbstractHandler { event: EventData; } export declare abstract class AbstractQueryHandler extends AbstractHandler { }