export type Listener = (data: T) => void; export declare class TypedEventTarget { private listeners; addEventListener(type: K, listener: Listener): void; removeEventListener(type: K, listener: Listener): void; protected dispatchEvent(type: K, ...[data]: M[K] extends void ? [] : [data: M[K]]): void; protected eventActivated(_type: string): void; protected eventDeactivated(_type: string): void; protected getActiveEvents(): string[]; }