import * as React from 'react'; import { PopperAnchor } from '../utils/popper.js'; import type { PrimitivePropsWithRef } from '../utils/primitive.js'; import type { PopoverContextValue, PopoverProps } from './types.js'; export declare const PopoverContextProvider: React.FC, usePopoverContext: (consumerName: string) => PopoverContextValue; /** Props for {@link PopoverRoot}: {@link PopoverProps} minus the derived-anatomy-only props. */ export type PopoverRootProps = Omit; /** State/context primitive that owns open state and hands it to all popover parts via context, rendering no DOM element itself. */ export declare function PopoverRoot({ children, open: openProp, defaultOpen, onOpenChange, onOpenChangeComplete, modal: modalProp, openOn, role, openDelay: openDelayProp, closeDelay: closeDelayProp, disableHoverableContent: disableHoverableContentProp, disabled, }: PopoverRootProps): React.JSX.Element; export declare namespace PopoverRoot { var displayName: string; } /** * Recipe for a non-modal-by-default popover that derives its anatomy from `trigger`/`title`/`description`, or accepts a hand-composed part tree via `children`; `openOn="hover"` reveals it on pointer enter and `role="tooltip"` makes it an inert bubble. * * @example * ```tsx * Share} title="Share this page"> *

Anyone with the link can view it.

*
* * } />} * > * Copy * * ``` */ export declare function Popover({ children, open, defaultOpen, onOpenChange, onOpenChangeComplete, modal, openOn, role, openDelay, closeDelay, disableHoverableContent, disabled, trigger, title, description, side, align, showArrow, portalContainer, ...rest }: PopoverProps): React.JSX.Element; export declare namespace Popover { var displayName: string; } /** Positions the popover against a custom element instead of the trigger. */ export declare const PopoverAnchor: { ({ ref, ...props }: Omit, "explicit">): React.ReactNode; displayName: string; }; /** * Optional visual arrow pointing from `PopoverContent` back at the anchor. * Must be rendered inside `PopoverContent`; self-positions based on the * resolved `side`. * * @example * ```tsx * *

Popover content.

* *
* ``` */ export declare const PopoverArrow: { ({ ref: forwardedRef, ...props }: PrimitivePropsWithRef<"span">): React.ReactNode; displayName: string; };