import type { PopoverContextType, IPopoverProps, IPopoverTriggerProps, IPopoverPortalProps, IPopoverPositionerProps, IPopoverPopupProps, IPopoverBackdropProps, IPopoverArrowProps, IPopoverTitleProps, IPopoverDescriptionProps, IPopoverCloseProps } from './Popover.types';
declare const usePopover: () => PopoverContextType;
/**
* Root Popover component.
* Manages controlled/uncontrolled open state and provides context to children.
*
* @param props - Popover root props including `open`, `defaultOpen`, and `onOpenChange`
*
* @example
* ```tsx
*
* {children}
*
* ```
*/
declare function Popover(props: IPopoverProps): import("react/jsx-runtime").JSX.Element;
/**
* Trigger element that toggles the popover on interaction.
*
* @param props - Trigger props forwarded to Base UI Popover.Trigger
*
* @example
* ```tsx
*
*
*
* ```
*/
declare function PopoverTrigger({ slots, className, ...props }: IPopoverTriggerProps): import("react/jsx-runtime").JSX.Element;
/**
* Portal wrapper with AnimatePresence for coordinated enter/exit animations.
* Internally sets `keepMounted` so motion exit animations play correctly.
*
* @param props - Portal props (without keepMounted)
*
* @example
* ```tsx
*
*
* ...
*
*
* ```
*/
declare function PopoverPortal({ slots: _slots, ...props }: IPopoverPortalProps): import("react/jsx-runtime").JSX.Element;
/**
* Positioning wrapper that automatically places the popup relative to the trigger.
*
* @param props - Positioner props forwarded to Base UI Popover.Positioner
*
* @example
* ```tsx
*
* Content
*
* ```
*/
declare function PopoverPositioner({ slots, className, ...props }: IPopoverPositionerProps): import("react/jsx-runtime").JSX.Element;
/**
* Main popover content container with scale entrance animation.
* Uses Motion for spring-based scale + opacity transitions.
*
* @param props - Popup props including motion transition overrides
*
* @example
* ```tsx
*
* Popover content
*
* ```
*/
declare function PopoverPopup({ initialFocus, finalFocus, slots, className, transition, ...props }: IPopoverPopupProps): import("react/jsx-runtime").JSX.Element;
/**
* Optional overlay backdrop behind the popover.
*
* @param props - Backdrop props forwarded to Base UI Popover.Backdrop
*
* @example
* ```tsx
*
* ```
*/
declare function PopoverBackdrop({ slots, className, ...props }: IPopoverBackdropProps): import("react/jsx-runtime").JSX.Element;
/**
* Directional arrow pointing toward the trigger element.
*
* @param props - Arrow props forwarded to Base UI Popover.Arrow
*
* @example
* ```tsx
*
* ```
*/
declare function PopoverArrow({ slots, className, ...props }: IPopoverArrowProps): import("react/jsx-runtime").JSX.Element;
/**
* Accessible title for the popover.
*
* @param props - Title props forwarded to Base UI Popover.Title
*
* @example
* ```tsx
* Quick Info
* ```
*/
declare function PopoverTitle({ slots, className, ...props }: IPopoverTitleProps): import("react/jsx-runtime").JSX.Element;
/**
* Accessible description for the popover.
*
* @param props - Description props forwarded to Base UI Popover.Description
*
* @example
* ```tsx
* Additional details about this item.
* ```
*/
declare function PopoverDescription({ slots, className, ...props }: IPopoverDescriptionProps): import("react/jsx-runtime").JSX.Element;
/**
* Button that closes the popover when clicked.
*
* @param props - Close props forwarded to Base UI Popover.Close
*
* @example
* ```tsx
*
*
*
* ```
*/
declare function PopoverClose({ slots, className, ...props }: IPopoverCloseProps): import("react/jsx-runtime").JSX.Element;
export { Popover, PopoverTrigger, PopoverPortal, PopoverPositioner, PopoverPopup, PopoverBackdrop, PopoverArrow, PopoverTitle, PopoverDescription, PopoverClose, usePopover, };
export type { IPopoverProps, IPopoverTriggerProps, IPopoverPortalProps, IPopoverPositionerProps, IPopoverPopupProps, IPopoverBackdropProps, IPopoverArrowProps, IPopoverTitleProps, IPopoverDescriptionProps, IPopoverCloseProps, PopoverContextType, PopoverSlot, IPopoverConfig, } from './Popover.types';
export { popoverStyles } from './Popover.styles';
//# sourceMappingURL=index.d.ts.map