import { ComponentPropsWithRef, ReactNode } from 'react'; import { Placement } from '@floating-ui/react'; type AsProp = keyof HTMLElementTagNameMap; export type PopoverProps = ComponentPropsWithRef<'div'> & { /** The content of the popover */ children: ReactNode; isOpen: boolean; onOpenChange: () => void; /** HTML element of the content container */ as?: AsProp; /** Where to mount the popover portal */ mountNodeId?: string; /** Preferred placement of the popover. [See options](https://floating-ui.com/docs/usefloating#placement) */ placement?: Placement; /** Must be a button */ triggerButton: ReactNode; }; /** * - Popover is a controlled component. You must provide `isOpen` and `onOpenChange` props. * - Built using [Floating UI](https://floating-ui.com/docs/usefloating). * - Traps focus within the popover, and closes on escape keypress or click off. * - Always use a button as the trigger. */ export declare function Popover({ as, children, isOpen, onOpenChange, mountNodeId, placement, triggerButton, ...props }: PopoverProps): import("react/jsx-runtime").JSX.Element | null; export {};