import type { DependencyList, RefObject } from 'react'; type EventMapForTarget = Target extends HTMLElement ? HTMLElementEventMap : Target extends SVGElement ? SVGElementEventMap : Target extends Document ? DocumentEventMap : Target extends Window ? WindowEventMap : { [eventType: string]: Event; }; type EventNamesForTarget = keyof EventMapForTarget & string; /** * @example useEvent('keydown', (event) => { do something }); * @param cb The function that should be executed on keydown keyevent. * @param options */ declare function useEvent>(eventName: EventName, cb: (e: EventMapForTarget[EventName]) => void, opts?: { target?: undefined; eventOptions?: AddEventListenerOptions | boolean; dependencies: DependencyList; }): void; declare function useEvent>(eventName: EventName, cb: (e: EventMapForTarget[EventName]) => void, opts: { target: Target | RefObject | null; eventOptions?: AddEventListenerOptions | boolean; dependencies?: DependencyList; }): void; declare function useEvent>(eventName: EventName, cb: (e: EventMapForTarget[EventName]) => void, opts: { target?: Target | RefObject | null | undefined; eventOptions?: AddEventListenerOptions | boolean; dependencies?: DependencyList; }): void; declare function useEvent(eventName: string, cb: (e: Event) => void, opts?: { target?: EventTarget | RefObject | null | undefined; eventOptions?: AddEventListenerOptions | boolean; dependencies?: DependencyList; }): void; export default useEvent; //# sourceMappingURL=useEvent.d.ts.map