declare const _default: "\nif (typeof globalThis.Event === 'undefined') {\n  class Event {\n    constructor(type, eventInitDict = {}) {\n      this.type = String(type);\n      this.bubbles = Boolean(eventInitDict.bubbles);\n      this.cancelable = Boolean(eventInitDict.cancelable);\n      this.composed = Boolean(eventInitDict.composed);\n      this.defaultPrevented = false;\n      this.eventPhase = 0;\n      this.target = null;\n      this.currentTarget = null;\n      this.isTrusted = false;\n      this.timeStamp = Date.now();\n    }\n\n    preventDefault() {\n      if (this.cancelable) {\n        this.defaultPrevented = true;\n      }\n    }\n\n    stopImmediatePropagation() {}\n\n    stopPropagation() {}\n  }\n\n  globalThis.Event = Event;\n}\n\nif (typeof globalThis.CustomEvent === 'undefined') {\n  class CustomEvent extends globalThis.Event {\n    constructor(type, eventInitDict = {}) {\n      super(type, eventInitDict);\n      this.detail = eventInitDict.detail ?? null;\n    }\n  }\n\n  globalThis.CustomEvent = CustomEvent;\n}\n\nif (typeof globalThis.EventTarget === 'undefined') {\n  class EventTarget {\n    constructor() {\n      Object.defineProperty(this, '__quickjsListeners', {\n        configurable: false,\n        enumerable: false,\n        value: new Map(),\n        writable: false,\n      });\n    }\n\n    addEventListener(type, callback, options = {}) {\n      if (callback == null) {\n        return;\n      }\n\n      const eventType = String(type);\n      const listeners = this.__quickjsListeners.get(eventType) ?? [];\n\n      if (!listeners.some((listener) => listener.callback === callback)) {\n        listeners.push({\n          callback,\n          once: Boolean(typeof options === 'object' && options?.once),\n        });\n        this.__quickjsListeners.set(eventType, listeners);\n      }\n    }\n\n    removeEventListener(type, callback) {\n      const eventType = String(type);\n      const listeners = this.__quickjsListeners.get(eventType);\n\n      if (!listeners) {\n        return;\n      }\n\n      const nextListeners = listeners.filter((listener) => listener.callback !== callback);\n\n      if (nextListeners.length > 0) {\n        this.__quickjsListeners.set(eventType, nextListeners);\n      } else {\n        this.__quickjsListeners.delete(eventType);\n      }\n    }\n\n    dispatchEvent(event) {\n      if (!event || typeof event.type === 'undefined') {\n        throw new TypeError(\"Failed to execute 'dispatchEvent' on 'EventTarget': parameter 1 is not of type 'Event'.\");\n      }\n\n      const eventType = String(event.type);\n      const listeners = [...(this.__quickjsListeners.get(eventType) ?? [])];\n\n      try {\n        event.target = event.target ?? this;\n        event.currentTarget = this;\n      } catch {}\n\n      for (const listener of listeners) {\n        if (listener.once) {\n          this.removeEventListener(eventType, listener.callback);\n        }\n\n        if (typeof listener.callback === 'function') {\n          listener.callback.call(this, event);\n        } else if (typeof listener.callback?.handleEvent === 'function') {\n          listener.callback.handleEvent(event);\n        }\n      }\n\n      try {\n        event.currentTarget = null;\n      } catch {}\n\n      return !event.defaultPrevented;\n    }\n  }\n\n  globalThis.EventTarget = EventTarget;\n}\n\nexport const Event = globalThis.Event;\nexport const CustomEvent = globalThis.CustomEvent;\nexport default globalThis.EventTarget;\n";
export default _default;
