typedef double DOMHighResTimeStamp;
[
CustomToJSObject,
DOMJIT,
ExportToWrappedFunction,
Exposed=(Window,Worker),
JSCustomHeader,
] interface Event {
constructor(DOMString type, optional EventInit eventInitDict);
readonly attribute DOMString type;
readonly attribute EventTarget? target;
readonly attribute EventTarget? currentTarget;
sequence<EventTarget> composedPath();
const unsigned short NONE = 0;
const unsigned short CAPTURING_PHASE = 1;
const unsigned short AT_TARGET = 2;
const unsigned short BUBBLING_PHASE = 3;
readonly attribute unsigned short eventPhase;
undefined stopPropagation();
attribute boolean cancelBubble; undefined stopImmediatePropagation();
readonly attribute boolean bubbles;
readonly attribute boolean cancelable;
undefined preventDefault();
readonly attribute boolean defaultPrevented;
readonly attribute boolean composed;
[LegacyUnforgeable] readonly attribute boolean isTrusted;
[CallWith=ScriptExecutionContext, ImplementedAs=timeStampForBindings] readonly attribute DOMHighResTimeStamp timeStamp;
undefined initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false);
[ImplementedAs=target] readonly attribute EventTarget srcElement;
[ImplementedAs=legacyReturnValue] attribute boolean returnValue;
};