type GetEventMap = T extends HTMLElement ? HTMLElementEventMap : T extends Document ? DocumentEventMap : T extends Window ? WindowEventMap : never; type ListenTarget = HTMLElement | Document | Window; type MaybeRefObject = React.RefObject | T; export declare function refEventListener>(elementRef: MaybeRefObject, type: K | K[], listener: (this: T, ev: GetEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): () => void; export declare function useEventListenerEffect>(elementRef: MaybeRefObject, type: K | K[], listener: (this: T, ev: GetEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void; export {};