import { ReactNode } from 'react'; type TooltipContainerRef = React.RefObject; type TitleRef = React.RefObject; type IsTitleEmpty = (tooltipValue: ReactNode | string) => boolean; interface Position { [key: string]: { top?: number; left?: number; }; } interface TooltipProps { /** * The text or content to be displayed inside the tooltip. * This can be a string or any React node. */ title?: string | React.ReactNode; /** * The children over which the tooltip will be displayed. * Typically a button or any other interactive element. */ children: React.ReactNode; /** * The placement of the tooltip relative to the children. * Defines where the tooltip appears: top, bottom, left, right, etc. * * @default 'bottom' */ placement?: 'top' | 'bottom' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'; /** * Whether the tooltip is disabled. * If true, the tooltip will not be displayed. * * @default false */ disabled?: boolean; /**. * Z-Index is by default 99 * * @default 99 */ zIndex?: number | string; style?: React.CSSProperties; /** * For JSX elements */ as?: React.ElementType; } export { TooltipContainerRef, TitleRef, IsTitleEmpty, Position, TooltipProps };