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 {};