import { Popover as PopoverPrimitive } from '@base-ui/react/popover'; import * as React from 'react'; declare function PopoverRoot({ ...props }: PopoverPrimitive.Root.Props): React.JSX.Element; declare namespace PopoverRoot { var displayName: string; } declare function PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props): React.JSX.Element; declare namespace PopoverTrigger { var displayName: string; } declare function PopoverPopup({ className, align, alignOffset, side, sideOffset, anchor, collisionAvoidance, positionMethod, container, ...props }: PopoverPrimitive.Popup.Props & Pick & { /** * DOM node to portal the popup into. Falls back to * `usePortalContainerOverride()` (which checks `PortalContainerProvider`), then to * the base-ui default (the document body). */ container?: HTMLElement | null; }): React.JSX.Element; declare namespace PopoverPopup { var displayName: string; } declare function PopoverHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element; declare namespace PopoverHeader { var displayName: string; } declare function PopoverTitle({ className, ...props }: PopoverPrimitive.Title.Props): React.JSX.Element; declare namespace PopoverTitle { var displayName: string; } declare function PopoverDescription({ className, ...props }: PopoverPrimitive.Description.Props): React.JSX.Element; declare namespace PopoverDescription { var displayName: string; } export interface PopoverProps extends Omit, 'onOpenChange' | 'children'> { /** The element that triggers the popover (required) */ trigger: React.ReactElement; /** Popover content (typically Popover.Popup component) */ children?: React.ReactNode; /** Controlled open state. When provided, component is controlled. */ open?: boolean; /** Initial open state for uncontrolled mode */ defaultOpen?: boolean; /** Callback when open state changes */ onOpenChange?: (open: boolean) => void; } declare function Popover({ trigger, open: controlledOpen, defaultOpen, onOpenChange, children, ...props }: PopoverProps): React.JSX.Element; export type PopoverTriggerProps = PopoverPrimitive.Trigger.Props; export type PopoverPopupProps = PopoverPrimitive.Popup.Props & Pick & { container?: HTMLElement | null; }; export type PopoverHeaderProps = React.ComponentProps<'div'>; export type PopoverTitleProps = PopoverPrimitive.Title.Props; export type PopoverDescriptionProps = PopoverPrimitive.Description.Props; /** * Popover component with dot notation for compound parts. * * @example * ```tsx * Open}> * * * Title * Description * * * * ``` */ declare const PopoverCompound: typeof Popover & { Root: typeof PopoverRoot; Trigger: typeof PopoverTrigger; Popup: typeof PopoverPopup; Header: typeof PopoverHeader; Title: typeof PopoverTitle; Description: typeof PopoverDescription; }; export { PopoverCompound as Popover, PopoverDescription, PopoverHeader, PopoverPopup, PopoverRoot, PopoverTitle, PopoverTrigger, };