import React from "react";
import { type IconProp } from "src/lib/renderIcon";
import { Label as PrimitiveLabel } from "src/primitives/Label";
import { type ButtonProps } from "src/components/Button";
interface HelpIconTooltipProps {
    /** Tooltip content. */
    content?: React.ReactNode;
    /** Tooltip position. */
    position?: string;
}
interface HelpIconPopoverProps {
    /** Popover title. */
    title?: React.ReactNode;
    /** Popover description. */
    description?: React.ReactNode;
    /** Props for an optional help link button inside the popover. */
    helpLinkProps?: ButtonProps;
}
interface HelpIconProps {
    /** Click handler on the help icon. */
    onClick?: () => void;
    /** Custom icon. Defaults to CircleHelpIcon. */
    icon?: IconProp;
    /** Show a tooltip on hover. */
    tooltipProps?: HelpIconTooltipProps;
    /** Show a popover on hover with title, description, and optional link. */
    popoverProps?: HelpIconPopoverProps;
    /** Additional class name for the help icon. */
    className?: string;
}
export interface LabelProps extends React.ComponentProps<typeof PrimitiveLabel> {
    /** Shows a red asterisk after the label text. */
    required?: boolean;
    /** Props for the help icon (tooltip or popover mode). */
    helpIconProps?: HelpIconProps;
    /** Additional CSS class names. */
    className?: string;
}
declare const Label: React.ForwardRefExoticComponent<Omit<LabelProps, "ref"> & React.RefAttributes<HTMLLabelElement>>;
export { Label };
