import IEventDispatcher from '../IEventDispatcher';
import DataEvent from './DataEvent';
export type AsyncEventHandler = (event: DataEvent, callback: Function) => void;
declare class AsyncEventDispatcher implements IEventDispatcher<AsyncEventHandler> {
    private _eventMap;
    dispatch(event: DataEvent<any>): Promise<void>;
    addEventListener(type: string, handler: AsyncEventHandler): void;
    removeEventListener(type: string, handler: AsyncEventHandler): void;
    removeAllListener(type: string): void;
    clear(): void;
    private hasListener;
    private getCallList;
}
export default AsyncEventDispatcher;
