import { MouseEvent } from 'react';
interface UseHoverOptions {
    /**
     * Delay in miliseconds before the hover state changes (from `false` to `true`, and from `true` to `false`).
     * Can be set to a tuple to have different delays for entering (first value) and leaving (second value).
     * @default 0
     */
    delay?: number | [number, number];
    /**
     * When true, hover triggers early if the cursor stays still on the element for some time (25ms by default).
     * Can be set to an object to customize the `duration` and `maxVelocity`.
     * @default false
     */
    earlyTriggerOnStill?: boolean | Partial<StillnessOptions>;
    onHoverChange?: (isHovered: boolean) => void;
}
interface StillnessOptions {
    /**
     * How long in miliseconds the cursor must stay still before triggering hover.
     * @default 25
     */
    duration: number;
    /**
     * Maximum pixels per second to consider the cursor still.
     * @default 10
     */
    maxVelocity: number;
}
export declare function useHover({ delay, earlyTriggerOnStill, onHoverChange }?: UseHoverOptions): {
    isHovered: boolean;
    props: {
        onMouseEnter: (event: MouseEvent) => void;
        onMouseMove: (event: MouseEvent) => void;
        onMouseLeave: (event: MouseEvent) => void;
    };
};
export {};
//# sourceMappingURL=useHover.d.ts.map