///
import { EventEmitter } from 'events';
export declare class EventManager extends EventEmitter {
protected sharedEventManager: EventManager;
private hooks;
constructor(sharedEventManager?: EventManager);
trigger(eventName: string, target: any, payload?: any): Promise;
has(event: string, callback: Function): boolean;
attachOnce(eventName: string, callback: Function, index?: number): void;
attach(event: string, callback: Function, index?: number): this;
attachAt(index: number, event: string, callback: Function): this;
detach(event: string, callback: Function): this;
getSharedEventManager(): EventManager;
}