import React from 'react'; import { type DefaultComponentType, type FlexAllProps } from 'reflexy/styled'; type WithData = Exclude extends never ? { readonly data?: D | undefined; } : unknown extends D ? { readonly data?: D | undefined; } : IfExtends; type GetHtmlType> = T extends never ? Element : unknown extends T ? Element : T; export interface TooltipData { readonly target: T; readonly title: string; readonly data?: D | undefined; } export type TooltipableTooltipProps = { readonly tooltip?: string | undefined; readonly tooltipDelay?: number | undefined; readonly onShowTooltip?: ((tooltip: TooltipData) => void) | undefined; readonly onHideTooltip?: ((target: TooltipData['target']) => void) | undefined; readonly hideTooltipOnUnmount?: boolean | undefined; } & WithData; export type TooltipableProps = FlexAllProps & TooltipableTooltipProps>; export default function Tooltipable({ tooltip, tooltipDelay, data, hideTooltipOnUnmount, onShowTooltip, onHideTooltip, ...restProps }: TooltipableProps): React.JSX.Element; export {};