Type defining properties that can be passed to the class-based component of this type. Default type is an empty object (no properties).
Type that maps event names (a.k.a event types) to either Event-derived
classes (e.g. MouseEvent) or any other type. The latter will be interpreted as a type of the
detail
property of a CustomEvent.
Interface that defines constructor signature for components.