export declare class EventTarget<EventTypesMap extends Record<string, (...args: any[]) => unknown>> {
    private events;
    dispatchEvent<K extends keyof EventTypesMap>(eventName: K, ...args: Parameters<EventTypesMap[K]>): void;
    getEventDispatcher<K extends keyof EventTypesMap>(eventName: K): (...args: Parameters<EventTypesMap[K]>) => void;
    addEventListener<K extends keyof EventTypesMap>(eventName: K, listener: EventTypesMap[K]): void;
    removeEventListener<K extends keyof EventTypesMap>(eventName: K, listener: EventTypesMap[K]): void;
}
