import React from 'react';
import { TippyProps } from '@tippyjs/react';
import { TippyHideParams } from '../../hooks';
import { PopoverHeaderProps } from '../PopoverHeader/PopoverHeader';
type ChildrenProp = ({ setVisible, visible, tippyRef, }: {
    setVisible: React.Dispatch<React.SetStateAction<boolean>>;
    visible: boolean;
    tippyRef: React.MutableRefObject<null>;
}) => JSX.Element;
export type PopoverProps = {
    /** The element that needs to be clicked to open the popover */
    children: ChildrenProp;
    /** The content inside the popover */
    popoverContent: ChildrenProp | JSX.Element;
    /** Selector for the parent element that is scrollable */
    scrollSelector?: TippyHideParams['scrollSelector'];
    /** This is the distance (in px) needed to hide the Tippy popover when scrolling */
    scrollDistance?: TippyHideParams['scrollDistance'];
    /** Optional Tippy props available */
    tippyProps?: TippyProps;
    /** Optional className added to the Tippy popover */
    className?: string;
    /** Function that is called on blur of the Tippy popover */
    onClickOutside?: () => void;
    /** Optional PopoverHeader props available */
    header?: PopoverHeaderProps;
    /** Optional `noPadding` prop is used to remove the padding of the content. */
    noPadding?: boolean;
};
declare const Popover: ({ children, popoverContent, scrollSelector, scrollDistance, tippyProps, className, onClickOutside, header, noPadding, }: PopoverProps) => JSX.Element;
export default Popover;
