import { type ComponentPropsWithoutRef, type HTMLAttributes, type ReactNode } from 'react';
import * as RadixPopover from '@radix-ui/react-popover';
import { type VariantProps } from 'class-variance-authority';
declare const contentVariants: (props?: ({
size?: "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface PopoverHandle {
getIsOpen: () => boolean;
open: () => void;
close: () => void;
}
export interface PopoverRootProps extends ComponentPropsWithoutRef {
openOn?: 'click' | 'hover' | 'hover-or-click';
/** Opaque instance id — forwarded to Popover.Content as `data-component-id`. */
id?: string;
children: ReactNode;
}
declare function PopoverRoot({ openOn, children, id, open: controlledOpen, onOpenChange, defaultOpen, modal, }: PopoverRootProps): import("react/jsx-runtime").JSX.Element;
declare namespace PopoverRoot {
var displayName: string;
}
export interface PopoverContentProps extends Omit, 'side' | 'align'>, VariantProps {
side?: 'start' | 'top' | 'end' | 'bottom';
align?: 'start' | 'center' | 'end';
size?: 'sm' | 'md' | 'lg';
showArrow?: boolean;
className?: string;
children: ReactNode;
}
interface PopoverHeadingProps extends HTMLAttributes {
as?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
}
export declare const Popover: typeof PopoverRoot & {
Root: typeof PopoverRoot;
Trigger: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>;
Anchor: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>;
Content: import("react").ForwardRefExoticComponent>;
Close: import("react").ForwardRefExoticComponent<{
className?: string;
} & import("react").RefAttributes>;
Heading: import("react").ForwardRefExoticComponent>;
Description: import("react").ForwardRefExoticComponent & import("react").RefAttributes>;
};
export type { PopoverRootProps as PopoverProps, PopoverHeadingProps };
//# sourceMappingURL=popover.d.ts.map