import { ElementType, ReactNode, RefObject } from 'react'; import { ElementFont } from '../../utils'; export interface LabelTextProps { /** Label content. */ label?: ReactNode; /** Displays a required indicator next to the label. */ required?: boolean; } /** * Renders label content followed by the required indicator. * * @function * @param props Component properties. * * @category Slot */ export declare const LabelText: ({ label, required }: LabelTextProps) => import("react/jsx-runtime").JSX.Element; export interface ControlLabelProps { /** Label content. */ label?: ReactNode; /** ID of the associated control element. Used when tag is 'label'. */ htmlFor?: string; /** DOM id applied to the label element. */ id?: string; /** Reference to a control element that should receive focus when the label is clicked. */ focusRef?: RefObject; /** Displays a required indicator next to the label. */ required?: boolean; /** Font applied to the label text. */ font?: ElementFont; /** HTML tag used to render the label element. Default: 'label'. */ tag?: ElementType; } /** * Renders a label for form controls. * * Supports both native label behaviour and ARIA labeling for custom controls. * When tag is 'label', htmlFor associates the label with a form element. * When focusRef is provided, clicking the label focuses the referenced control. * * @function * @param props Component properties. * * @category Slot */ export declare const ControlLabel: ({ label, htmlFor, id, required, font, focusRef, tag: Tag, }: ControlLabelProps) => import("react/jsx-runtime").JSX.Element | null;