import { default as EventListener } from './../event-listener';
import { default as EventDispatcher, EventTarget } from './../event-dispatcher';
/**
 * Dispatch events synchronously through your application.
 */
export default class SynchronousEventDispatcher implements EventDispatcher {
    private eventListeners;
    constructor();
    /**
     * {@inheritdoc}
     */
    dispatch<T>(name: EventTarget, payload?: T): T;
    /**
     * {@inheritdoc}
     */
    addEventListener(name: EventTarget, listener: EventListener): void;
    /**
     * {@inheritdoc}
     */
    removeEventListener(name: EventTarget, listener: EventListener): void;
    /**
     * {@inheritdoc}
     */
    clearEventListeners(name?: EventTarget): void;
}
