import { Instance, Placement, Props as TippyProps } from 'tippy.js';
import { AnyString } from '../utils';
export type PopoverTrigger = 'click' | 'focus' | 'focusin' | 'manual' | 'mouseenter';
export type UsePopoverProps = {
    /** Content closes when clicking the trigger or anywhere outside. @default true */
    closeOnBlur?: boolean;
    /** Content closes when pressing 'Escape'. @default true */
    closeOnEsc?: boolean;
    /** Content is opened on first render. Uncontrolled mode. */
    defaultIsOpen?: boolean;
    /** Content placement could be changed to the opposite depending on available space. */
    flip?: boolean;
    /** Content is opened/closed by the consumer. Controlled mode. */
    isOpen?: boolean;
    /** Sets the content element width to be the same as trigger element. */
    matchWidth?: boolean;
    /** Displaces content from the trigger in pixels. */
    offset?: TippyProps['offset'];
    /** Invoked once content is fully hidden. */
    onClose?: (instance: Instance<TippyProps>) => void;
    /** Invoked once content begins to show. */
    onOpen?: (instance: Instance<TippyProps>) => void;
    /** Object with any Tippy props. */
    options?: Partial<TippyProps>;
    /** Preferred placement of the content. Might be flipped if needs more space. */
    placement?: Placement;
    /** Determintes the events that cause the content to show. */
    trigger?: PopoverTrigger | AnyString;
};
//# sourceMappingURL=usePopover.types.d.ts.map