1/// <reference types="node" /> 2 3// See https://github.com/nodejs/undici/issues/1740 4 5export type DOMException = typeof globalThis extends { DOMException: infer T } 6 ? T 7 : any 8 9export type EventTarget = typeof globalThis extends { EventTarget: infer T } 10 ? T 11 : { 12 addEventListener( 13 type: string, 14 listener: any, 15 options?: any, 16 ): void 17 dispatchEvent(event: Event): boolean 18 removeEventListener( 19 type: string, 20 listener: any, 21 options?: any | boolean, 22 ): void 23 } 24 25export type Event = typeof globalThis extends { Event: infer T } 26 ? T 27 : { 28 readonly bubbles: boolean 29 cancelBubble: () => void 30 readonly cancelable: boolean 31 readonly composed: boolean 32 composedPath(): [EventTarget?] 33 readonly currentTarget: EventTarget | null 34 readonly defaultPrevented: boolean 35 readonly eventPhase: 0 | 2 36 readonly isTrusted: boolean 37 preventDefault(): void 38 returnValue: boolean 39 readonly srcElement: EventTarget | null 40 stopImmediatePropagation(): void 41 stopPropagation(): void 42 readonly target: EventTarget | null 43 readonly timeStamp: number 44 readonly type: string 45 } 46 47export interface EventInit { 48 bubbles?: boolean 49 cancelable?: boolean 50 composed?: boolean 51} 52 53export interface EventListenerOptions { 54 capture?: boolean 55} 56 57export interface AddEventListenerOptions extends EventListenerOptions { 58 once?: boolean 59 passive?: boolean 60 signal?: AbortSignal 61} 62 63export type EventListenerOrEventListenerObject = EventListener | EventListenerObject 64 65export interface EventListenerObject { 66 handleEvent (object: Event): void 67} 68 69export interface EventListener { 70 (evt: Event): void 71} 72