import React, { type ElementType, type ReactNode, type Ref } from 'react'; import type { Props } from '../../types.js'; import { type HasDisplayName, type RefProp } from '../../utils/render.js'; interface SharedData { slot?: {}; name?: string; props?: Record; } export declare function useLabelContext(): { value: string | undefined; register(value: string): () => void; } & SharedData; export declare function useLabelledBy(alwaysAvailableIds?: (string | undefined | null)[]): string | undefined; interface LabelProviderProps extends SharedData { children: ReactNode; value?: string | undefined; } export declare function useLabels({ inherit }?: { inherit?: boolean | undefined; }): [ string | undefined, (props: LabelProviderProps & { inherit?: boolean; }) => React.JSX.Element ]; declare let DEFAULT_LABEL_TAG: "label"; export type LabelProps = Props & { passive?: boolean; htmlFor?: string; }; declare function LabelFn(props: LabelProps, ref: Ref): React.ReactElement> | null; export interface _internal_ComponentLabel extends HasDisplayName { (props: LabelProps & RefProp): React.JSX.Element; } export declare let Label: _internal_ComponentLabel; export {};