license export type EventType = keyof GlobalEventHandlersEventMap ; export type SpecificEventListener < K extends EventType > = ( evt : GlobalEventHandlersEventMap [ K ] ) => void ; export type CustomEventListener < E extends Event > = ( evt : E ) => void ; export type WindowEventType = keyof WindowEventMap ; export type SpecificWindowEventListener < K extends WindowEventType > = ( evt : WindowEventMap [ K ] ) => void ; template T export type Constructor < T = any > = { new ( ... args ) : T ; } ;