import { ComponentPropsWithoutRef, ReactNode } from 'react';
import { TooltipProps } from '../../../components/Tooltip';
/**
 * Props for the Label component.
 */
export type LabelProps = Omit<ComponentPropsWithoutRef<"label">, "id"> & {
    /** Unique identifier for the label element */
    id?: string;
    /**
     * Whether the field is required. Shows a red asterisk (*) when true.
     * @default false
     */
    required?: boolean;
    /** Additional information to display in a tooltip */
    moreInfo?: ReactNode;
    /**
     * Controls the open state of the more info tooltip.
     * @default false
     */
    moreInfoOpen?: TooltipProps["open"];
};
/**
 * Internal component for rendering the info icon with tooltip.
 *
 * @param props - Component props
 * @param props.moreInfo - The content to display in the tooltip
 * @param props.moreInfoOpen - Controls the tooltip open state
 */
export declare const LabelMoreInfoIcon: ({ moreInfo, moreInfoOpen, }: {
    moreInfo: LabelProps["moreInfo"];
    moreInfoOpen: LabelProps["moreInfoOpen"];
}) => import("react/jsx-runtime").JSX.Element;
/**
 * Label component for form field labels with optional required indicator and help tooltip.
 *
 * Features:
 * - Accessible form label with proper semantic HTML
 * - Optional required field indicator with red asterisk
 * - Help tooltip with info icon for additional context
 * - Screen reader support for required field announcement
 * - Controlled and uncontrolled tooltip state management
 * - Flexible content support for label text and help information
 * - Proper ARIA attributes and semantic structure
 * - Responsive design with consistent typography
 *
 * @example
 * <Label htmlFor="email" required>
 *   Email Address
 * </Label>
 * <input id="email" type="email" />
 *
 * @example
 * <Label
 *   htmlFor="password"
 *   required
 *   moreInfo="Password must be at least 8 characters long"
 * >
 *   Password
 * </Label>
 * <input id="password" type="password" />
 */
export declare const Label: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref">, "id"> & {
    /** Unique identifier for the label element */
    id?: string;
    /**
     * Whether the field is required. Shows a red asterisk (*) when true.
     * @default false
     */
    required?: boolean;
    /** Additional information to display in a tooltip */
    moreInfo?: ReactNode;
    /**
     * Controls the open state of the more info tooltip.
     * @default false
     */
    moreInfoOpen?: TooltipProps["open"];
} & import('react').RefAttributes<HTMLLabelElement>>;
