export default function useGlobalListener(eventName: string, listener: (Event) => void, capture?: boolean, ownerElementRef?: Resolvable): void; export function useToggledGlobalListener(eventName: string, listener: Function, capture?: boolean, ownerElementRef?: import('react').RefObject | HTMLElement): GlobalListenerInterface; export function useWindowEventListener(eventName: string, listener: (Event) => void, capture?: boolean): void; export function useDocumentEventListener(eventName: string, listener: (Event) => void, capture?: boolean): void; export type Truthy = any; export type GlobalListenerInterfaceAttach = () => any; export type GlobalListenerInterfaceRemove = () => any; export type GlobalListenerInterfaceWhen = (when: any) => any; export type GlobalListenerInterface = { attach: GlobalListenerInterfaceAttach; remove: GlobalListenerInterfaceRemove; when: (value: Truthy) => void; }; export type Resolvable = T | import('react').MutableRefObject | ((value: any) => T);