import { type Ref } from 'react';
import * as React from 'react';
import { type ReferenceProps } from '../../lib/floating/useFloatingWithInteractions/types';
import { type PopoverProps } from './Popover';
export type UsePopoverProps = Omit<PopoverProps, 'children'> & {
    [key: `data-${string}`]: string | number | boolean;
};
export type UsePopoverResult<ElementType extends HTMLElement = HTMLElement> = {
    /**
     * Реф на якорный элемент.
     */
    anchorRef: Ref<ElementType>;
    /**
     * Свойства для якорного элемента, содержит необходимые обработчики.
     */
    anchorProps: ReferenceProps<ElementType>;
    /**
     * Отрендеренный компонент всплывающего элемента.
     */
    popover: React.ReactNode | null;
};
export declare const usePopover: <ElementType extends HTMLElement = HTMLElement>({ arrow: withArrow, arrowHeight, arrowPadding, placement, onPlacementChange, disableFlipMiddleware, disableShiftMiddleware, trigger, strategy, content, hoverDelay, closeAfterClick, offsetByMainAxis, offsetByCrossAxis, sameWidth, hideWhenReferenceHidden, onReferenceHiddenChange, disabled, disableInteractive, disableCloseOnClickOutside, disableCloseOnEscKey, keepMounted, customMiddlewares, defaultShown, shown: shownProp, onShownChange, onShownChanged, usePortal, arrowProps, ArrowIcon, autoFocus, restoreFocus, className, noStyling, zIndex, disableFocusTrap, role, ...restPopoverProps }: UsePopoverProps) => UsePopoverResult<ElementType>;
//# sourceMappingURL=usePopover.d.ts.map