import { PointerEvent as ReactPointerEvent, MouseEvent as ReactMouseEvent } from 'react';
export interface UseHoverOptions {
    isDisabled?: boolean;
    onHoverStart?: (event: ReactPointerEvent | ReactMouseEvent) => void;
    onHoverEnd?: (event: ReactPointerEvent | ReactMouseEvent) => void;
}
export interface HoverProps {
    onPointerEnter: (event: ReactPointerEvent) => void;
    onPointerLeave: (event: ReactPointerEvent) => void;
    onMouseEnter: (event: ReactMouseEvent) => void;
    onMouseLeave: (event: ReactMouseEvent) => void;
}
export interface UseHoverResult {
    hovered: boolean;
    hoverProps: HoverProps;
}
export declare const useHover: ({ isDisabled, onHoverStart, onHoverEnd, }?: UseHoverOptions) => UseHoverResult;
export interface CreateHoverHandlersOptions {
    isDisabled?: boolean;
    onHoverStart?: (event: ReactPointerEvent | ReactMouseEvent) => void;
    onHoverEnd?: (event: ReactPointerEvent | ReactMouseEvent) => void;
}
export declare const createHoverHandlers: ({ isDisabled, onHoverStart, onHoverEnd, }?: CreateHoverHandlersOptions) => HoverProps;
//# sourceMappingURL=useHover.d.ts.map