import type { EventType, EventListener, EventProcessor, IEventDispatcher } from './TypeDefinition';
declare class EventDispatcher implements IEventDispatcher {
    private _listeners;
    private _eventPreprocessor;
    constructor(eventPreprocessor?: EventProcessor | null);
    addEventListener(eventType: string, listener: EventListener, priority?: number): void;
    hasEventListener(eventType: string): boolean;
    removeEventListener(eventType: string, listener: EventListener): void;
    removeAllEventListeners(eventType: string): void;
    dispatchEvent(event: EventType, data?: unknown): void;
}
export declare const createEventDispatcher: (eventPreprocessor?: EventProcessor) => EventDispatcher;
export default EventDispatcher;
