export declare class EventDispatcher = Record> { on(type: K, listener: (event: T[K]) => any, options?: AddEventListenerOptions): void; on(type: string, listener: (event: Event) => any, options?: AddEventListenerOptions): void; off(type: K, listener: (event: T[K]) => any, options?: AddEventListenerOptions): void; off(type: string, listener: (event: Event) => any, options?: AddEventListenerOptions): void; addEventListener(type: K, listener: (event: T[K]) => any, options?: AddEventListenerOptions): void; addEventListener(type: string, listener: (event: Event) => any, options?: AddEventListenerOptions): void; removeEventListener(type: K, listener: (event: T[K]) => any, options?: AddEventListenerOptions): void; removeEventListener(type: string, listener: (event: Event) => any, options?: AddEventListenerOptions): void; dispatchEvent(event: Event, catchErrors?: boolean): void; }