diff --git a/cypress/integration/__image_snapshots__/Renders menu (options button) #0.png b/cypress/integration/__image_snapshots__/Renders menu (options button) #0.png new file mode 100644 index 00000000..93a6c53c Binary files /dev/null and b/cypress/integration/__image_snapshots__/Renders menu (options button) #0.png differ diff --git a/types.d.ts b/types.d.ts new file mode 100644 index 00000000..dfd96752 --- /dev/null +++ b/types.d.ts @@ -0,0 +1,32 @@ +type Options = boolean | Readonly | undefined + +declare function registerListener( + element: Readonly | null | undefined, + eventType: KD, + // eslint-disable-next-line functional/prefer-immutable-types + listener: (this: Document, evt: DocumentEventMap[KD]) => void, + options?: Options, +): void +declare function registerListener( + element: Readonly | null | undefined, + eventType: KH, + // eslint-disable-next-line functional/prefer-immutable-types + listener: (this: HTMLElement, evt: HTMLElementEventMap[KH]) => void, + options?: Options, +): void +declare function registerListener( + element: Readonly | null | undefined, + eventType: KW, + // eslint-disable-next-line functional/prefer-immutable-types + listener: (this: Window, evt: WindowEventMap[KW]) => void, + options?: Options, +): void +declare function registerListener( + element: Readonly | null | undefined, + eventType: string, + // eslint-disable-next-line functional/prefer-immutable-types + listener: (evt: Event) => void, + options?: Options, +): void + +export { registerListener }