/// import type { ComponentProps } from '@fluentui/react-utilities'; import type { ComponentState } from '@fluentui/react-utilities'; import { ForwardRefComponent } from '@fluentui/react-utilities'; import { Label } from '@fluentui/react-label'; import type { PopoverProps } from '@fluentui/react-popover'; import type { PopoverSurface } from '@fluentui/react-popover'; import * as React_2 from 'react'; import type { Slot } from '@fluentui/react-utilities'; import type { SlotClassNames } from '@fluentui/react-utilities'; /** * InfoButtons provide a way to display additional information about a form field or an area in the UI. */ declare const InfoButton: ForwardRefComponent; /** * InfoButton Props */ declare type InfoButtonProps = Omit>, 'disabled'> & { /** * Size of the InfoButton. * * @default medium */ size?: 'small' | 'medium' | 'large'; /** * Whether the InfoButton should be rendered inline or on a Portal. * * @default true */ inline?: boolean; }; declare type InfoButtonSlots = { root: NonNullable>; /** * The Popover element that wraps the info and root slots. Use this slot to pass props to the Popover. */ popover: NonNullable>>>; /** * The information to be displayed in the PopoverSurface when the button is pressed. */ info: NonNullable>; }; /** * InfoLabel component */ export declare const InfoLabel: ForwardRefComponent; export declare const infoLabelClassNames: SlotClassNames; /** * InfoLabel Props */ export declare type InfoLabelProps = ComponentProps, 'label'> & { /** * The content of the InfoButton's popover. */ info?: InfoButtonProps['info']; }; export declare type InfoLabelSlots = { root: NonNullable>; /** * The Label component. * * It is not typically necessary to use this prop. The label text is the child of the ``, and other props * such as `size` and `required` should be set directly on the `InfoLabel`. * * This is the PRIMARY slot: all native properties specified directly on `` will be applied to this slot, * except `className` and `style`, which remain on the root slot. */ label: NonNullable>; /** * The InfoButton component. * * It is not typically necessary to use this prop. The content can be set using the `info` prop of the InfoLabel. */ infoButton: Slot; }; /** * State used in rendering InfoLabel */ export declare type InfoLabelState = ComponentState & Pick; /** * Render the final JSX of InfoLabel */ export declare const renderInfoLabel_unstable: (state: InfoLabelState) => JSX.Element; /** * Create the state required to render InfoLabel. * * The returned state can be modified with hooks such as useInfoLabelStyles_unstable, * before being passed to renderInfoLabel_unstable. * * @param props - props from this instance of InfoLabel * @param ref - reference to label element of InfoLabel */ export declare const useInfoLabel_unstable: (props: InfoLabelProps, ref: React_2.Ref) => InfoLabelState; /** * Apply styling to the InfoLabel slots based on the state */ export declare const useInfoLabelStyles_unstable: (state: InfoLabelState) => InfoLabelState; export { }