import { SyntheticEvent, KeyboardEvent, FocusEvent, MouseEvent } from 'react'; type OverlayTrigger = "none" | "click" | "hover"; interface UseOverlayTriggerOptions { hideOnLeave?: boolean; isDisabled?: boolean; onHide?: (event: SyntheticEvent) => void; onShow?: (event: SyntheticEvent) => void; trigger?: OverlayTrigger; } declare function useOverlayTrigger(isOpen: boolean, { hideOnLeave, isDisabled, onHide, onShow, trigger }?: UseOverlayTriggerOptions): { onClick?: undefined; onKeyDown?: undefined; onKeyUp?: undefined; onBlur?: undefined; onFocus?: undefined; onMouseEnter?: undefined; } | { onClick: (event: SyntheticEvent) => void; onKeyDown: (event: KeyboardEvent) => void; onKeyUp: (event: KeyboardEvent) => void; onBlur?: undefined; onFocus?: undefined; onMouseEnter?: undefined; } | { onBlur: (event: FocusEvent) => void; onFocus: (event: FocusEvent) => void; onMouseEnter: (event: MouseEvent) => void; onClick?: undefined; onKeyDown?: undefined; onKeyUp?: undefined; }; export { type OverlayTrigger, type UseOverlayTriggerOptions, useOverlayTrigger };