import { type RefObject } from 'react';
/**
* Returns a frozen object of callback setters to handle the mouse events.
* It accepts a DOM ref representing the events target.
* If a target is not provided the events will be globally attached to the document object.
*
* ### Shall the `useMouseEvents` callbacks replace the standard mouse handler props?
*
* **They shall not!**
* **useMouseEvents is meant to be used to abstract more complex hooks that need to control mouse**, for instance:
* a drag n drop hook.
* Using useMouseEvents handlers instead of the classic props approach it's just as bad as it sounds since you'll
* lose the React SyntheticEvent performance boost.
* If you were doing something like the following:
*/
declare const useMouseEvents: (targetRef?: RefObject | undefined, passive?: boolean) => Readonly<{
onMouseDown: import("./shared/types").CallbackSetter;
onMouseEnter: import("./shared/types").CallbackSetter;
onMouseLeave: import("./shared/types").CallbackSetter;
onMouseMove: import("./shared/types").CallbackSetter;
onMouseOut: import("./shared/types").CallbackSetter;
onMouseOver: import("./shared/types").CallbackSetter;
onMouseUp: import("./shared/types").CallbackSetter;
}>;
export default useMouseEvents;