import { default as React } from 'react';
type PopoverSide = "top" | "bottom" | "left" | "right";
type PopoverAlign = "start" | "center" | "end";
export interface PopoverProps {
    children: React.ReactNode;
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    defaultOpen?: boolean;
}
declare function Popover({ children, open: controlledOpen, onOpenChange, defaultOpen, }: PopoverProps): import("react/jsx-runtime").JSX.Element;
export interface PopoverTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    asChild?: boolean;
}
declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
export interface PopoverContentProps extends React.HTMLAttributes<HTMLDivElement> {
    side?: PopoverSide;
    align?: PopopverAlign;
    sideOffset?: number;
    alignOffset?: number;
    onEscapeKeyDown?: () => void;
    onPointerDownOutside?: () => void;
}
type PopopverAlign = PopoverAlign;
declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
declare function PopoverHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
declare function PopoverTitle({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>): import("react/jsx-runtime").JSX.Element;
declare function PopoverDescription({ className, ...props }: React.HTMLAttributes<HTMLParagraphElement>): import("react/jsx-runtime").JSX.Element;
export { Popover, PopoverTrigger, PopoverContent, PopoverHeader, PopoverTitle, PopoverDescription, };
