import type * as React from "react";

/**
 * Non-modal panel anchored to a trigger. Holds richer content than a Menu — fields,
 * a Calendar, a short form.
 *
 * Portalled to the document in viewport coordinates, so a popover opened from
 * inside a scrolling region is not clipped. It repositions on scroll and resize,
 * flips when there is no room, and clamps to the viewport. Clicking inside the
 * portalled panel does not count as an outside click.
 */
export interface PopoverProps {
  open?: boolean;
  defaultOpen?: boolean;
  onOpenChange?: (open: boolean) => void;
  className?: string;
  children?: React.ReactNode;
}
export declare function Popover(props: PopoverProps): React.ReactElement;
export declare function PopoverTrigger(props: { children: React.ReactElement }): React.ReactElement;
export declare function PopoverPopup(props: React.HTMLAttributes<HTMLDivElement> & { side?: "top" | "bottom" | "left" | "right"; align?: "start" | "center" | "end" }): React.ReactElement | null;
export declare function PopoverTitle(props: React.HTMLAttributes<HTMLDivElement>): React.ReactElement;
export declare function PopoverDescription(props: React.HTMLAttributes<HTMLParagraphElement>): React.ReactElement;
export declare function PopoverClose(props: { children: React.ReactElement }): React.ReactElement;
