import { ReactElement, ComponentPropsWithoutRef } from 'react'; import { HelperProps } from '../../internal/components'; import { LayoutUtilProps, Size, DataTrackingId } from '../../types'; import { FieldLabelProps } from '../../internal/types'; /** * Props for the NumberField component. * @extends Omit, "size" | "prefix" | "type" | "inputMode" | "value" | "defaultValue" | "onFocus" | "onBlur" | "onChange"> * @extends LayoutUtilProps * @extends FieldLabelProps * @extends DataTrackingId */ export type NumberFieldProps = Omit, "size" | "prefix" | "type" | "inputMode" | "value" | "defaultValue" | "onFocus" | "onBlur" | "onChange"> & LayoutUtilProps & FieldLabelProps & { /** * Error state for the field. Pass `true` to indicate error styling without a message. * Pass a string, string[], or ReactElement (deprecated) for error messages. */ error?: boolean | string | ReactElement | string[]; /** * Label for the field. * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it. */ label?: string; /** * When `true`, hides the visible label and moves it to `aria-label` on the input. * Requires `label` to be set — the label is always needed for accessibility. * @default false */ hideLabel?: boolean; prefix?: string; suffix?: string; size?: Extract; description?: HelperProps["description"]; /** * @deprecated No longer used. Error messages always use `aria-live="assertive"`. */ errorAriaLive?: HelperProps["errorAriaLive"]; hint?: HelperProps["hint"]; /** * Warning message(s) to display. Supports a single string or an array of strings. */ warning?: string | string[]; loading?: boolean; disabled?: boolean; minValue?: number; maxValue?: number; maximumFractionDigits?: number; minimumFractionDigits?: number; step?: number; value?: number | null; defaultValue?: number | null; onChange?: (value: number | null) => void; onFocus?: (event: React.FocusEvent) => void; onBlur?: (event: React.FocusEvent) => void; hideControls?: boolean; } & DataTrackingId; export declare const NumberField: import('react').ForwardRefExoticComponent, HTMLInputElement>, "ref">, "onBlur" | "onFocus" | "onChange" | "size" | "value" | "defaultValue" | "prefix" | "inputMode" | "type"> & LayoutUtilProps & Pick & { labelProps?: Omit & import('../..').AiMarkWithTooltipOrPopoverProps; } & { /** * Error state for the field. Pass `true` to indicate error styling without a message. * Pass a string, string[], or ReactElement (deprecated) for error messages. */ error?: boolean | string | ReactElement | string[]; /** * Label for the field. * Omitting `label` is deprecated — it will be required in v4.0.0. Use `hideLabel` to visually hide it. */ label?: string; /** * When `true`, hides the visible label and moves it to `aria-label` on the input. * Requires `label` to be set — the label is always needed for accessibility. * @default false */ hideLabel?: boolean; prefix?: string; suffix?: string; size?: Extract; description?: HelperProps["description"]; /** * @deprecated No longer used. Error messages always use `aria-live="assertive"`. */ errorAriaLive?: HelperProps["errorAriaLive"]; hint?: HelperProps["hint"]; /** * Warning message(s) to display. Supports a single string or an array of strings. */ warning?: string | string[]; loading?: boolean; disabled?: boolean; minValue?: number; maxValue?: number; maximumFractionDigits?: number; minimumFractionDigits?: number; step?: number; value?: number | null; defaultValue?: number | null; onChange?: (value: number | null) => void; onFocus?: (event: React.FocusEvent) => void; onBlur?: (event: React.FocusEvent) => void; hideControls?: boolean; } & DataTrackingId & import('react').RefAttributes>;