import React, { type ReactNode } from "react";
import { type VariantProps } from "class-variance-authority";
import { HoverCardContent } from "src/primitives/HoverCard";
type PopoverPosition = "top" | "bottom" | "left" | "right" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "auto";
declare const popoverVariants: (props?: ({
    variant?: "default" | "primary" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
type PopoverVariant = NonNullable<VariantProps<typeof popoverVariants>["variant"]>;
/** Radix HoverCard.Content props we forward via ...otherProps. */
type HoverCardContentProps = React.ComponentProps<typeof HoverCardContent>;
export interface PopoverProps extends Omit<HoverCardContentProps, "children" | "className" | "side" | "align"> {
    /** Content rendered inside the popover. */
    children?: ReactNode;
    /** The trigger element that opens the popover on hover. */
    trigger?: ReactNode;
    /** Color variant of the popover. */
    variant?: PopoverVariant;
    /** Disable the popover. */
    disabled?: boolean;
    /** Placement of the popover relative to the trigger. */
    position?: PopoverPosition;
    /** Additional CSS class names for the popover content. */
    className?: string;
    /** Whether the popover is open (controlled). */
    open?: boolean;
    /** Callback when open state changes. */
    onOpenChange?: (open: boolean) => void;
    /** Auto-hide after N milliseconds. Use -1 to disable. */
    hideAfter?: number;
    /** Radix HoverCard `defaultOpen` prop. */
    defaultOpen?: boolean;
    /** Delay in ms before the popover opens on hover. */
    openDelay?: number;
    /** Delay in ms before the popover closes after hover leaves. */
    closeDelay?: number;
}
interface PopoverTitleProps extends React.ComponentProps<"div"> {
    children?: ReactNode;
    className?: string;
}
declare const Title: React.ForwardRefExoticComponent<Omit<PopoverTitleProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const Popover: React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLDivElement>> & {
    Title: typeof Title;
};
export { Popover };
