///
import { EventEmitter } from 'events';
import { Emitter, Event, EventListener, EventScope } from './types';
export declare class ElixirEmitter implements Emitter {
isRegistered: boolean;
protected localEmitter: EventEmitter;
constructor();
getEmitter(scope?: EventScope): EventEmitter;
on(event: string, callback: EventListener, scope?: EventScope): ElixirEmitter;
off(event: string, callback: EventListener, scope?: EventScope): ElixirEmitter;
getListeners(event: string, scope?: EventScope): EventListener[];
emit(eventName: string, eventInstance: Event, scope?: EventScope): ElixirEmitter;
getNames(scope?: EventScope): Array;
clear(eventName: string, scope?: EventScope): ElixirEmitter;
clearAll(scope?: EventScope): ElixirEmitter;
}