import React from 'react'; import type { Placement } from './Placement'; import './HoverablePopover.css'; export interface IHoverablePopoverContentsProps extends IHoverablePopoverProps { hidePopover?: () => void; } export interface IHoverablePopoverProps extends React.HTMLProps { /** The popover contents (simple mode) */ value?: string; /** The popover contents (advanced mode) */ Component?: React.ComponentType; /** * The popover contents (advanced mode) * @deprecated - use Component */ template?: JSX.Element; placement?: Placement; /** a percent string between 0% and 100% */ hOffsetPercent?: string; /** class to put on the popover content */ className?: string; /** class to put on the wrapper element */ wrapperClassName?: string; /** Rendered on the top of the popover content */ title?: string; id?: string; /** Render popover contents into this container, or body if null */ container?: JSX.Element | HTMLElement; delayShow?: number; delayHide?: number; onShow?: () => void; onHide?: () => void; svgMode?: boolean; } export interface IHoverablePopoverState { popoverIsOpen: boolean; animation: boolean; placementOverride?: Placement; PopoverRenderer?: React.ComponentType; } export declare class HoverablePopover extends React.Component { static defaultProps: Partial; private mouseEvents$; private hidePopoverEvents$; private destroy$; private targetRef; constructor(props: IHoverablePopoverProps); componentWillUnmount(): void; componentDidMount(): void; private setPopoverOpen; private handleMouseEvent; private rendererRefCallback; private Wrapper; render(): JSX.Element; }