import type { ReactElement, ReactNode } from "react"; /** @remarks \@since 2.8.0 */ export interface HoverModeConfiguration { /** * Boolean if the hover mode functionality should be disabled. * * @defaultValue `false` */ disabled?: boolean; /** * The amount of time (in ms) the user must hover an element before the hover * mode is enabled and the visibility is set to `true`. * * @defaultValue {@link DEFAULT_HOVER_MODE_VISIBLE_IN_TIME} */ defaultVisibleInTime?: number; /** * The amount of time (in ms) the user must not hover any element connected to * the hover mode. * * @defaultValue {@link DEFAULT_HOVER_MODE_DEACTIVATION_TIME} */ deactivateTime?: number; } /** @remarks \@since 2.8.0 */ export interface HoverModeProviderProps extends HoverModeConfiguration { children: ReactNode; } /** * This component should normally be mounted near the root of your app to enable * hover mode for child components. However, it can also be used at other levels * if hover mode functionality should not carry over between two different parts * of the screen. * * @example * Separating Hover Mode * ```tsx * export default function Example(): ReactElement { * return ( * <> * * * * * * * * ); * } * ``` * * @remarks \@since 2.8.0 */ export declare function HoverModeProvider({ children, disabled, defaultVisibleInTime, deactivateTime, }: HoverModeProviderProps): ReactElement;