import type { ChangeEventHandler, FocusEventHandler } from 'react';
export type TNumberInputProps = {
/**
* Used as HTML id property. An id is auto-generated when it is not specified.
*/
id?: string;
/**
* Used as HTML name of the input component. property
*/
name?: string;
/**
* Indicate if the value entered in the input is invalid.
*/
'aria-invalid'?: boolean;
/**
* HTML ID of an element containing an error message related to the input.
*/
'aria-errormessage'?: string;
/**
* Used as HTML `autocomplete` of the input component. property
*/
autoComplete?: string;
/**
* Placeholder text for the input
*/
placeholder?: string;
/**
* Value of the input component.
*/
value: string | number;
/**
* Value is used as `min` property on input field
*/
min?: number;
/**
* Value is used as `max` property on input field
*/
max?: number;
/**
* Value is used as `step` property on input field
*
* Use the value `any` for inputs which accept an unpredictable amount of decimals.
*/
step?: number | 'any';
/**
* Called with an event containing the new value. Required when input is not read only. Parent should pass it back as value.
*/
onChange?: ChangeEventHandler;
/**
* Called when input is blurred
*/
onBlur?: FocusEventHandler;
/**
* Called when input is focused
*/
onFocus?: FocusEventHandler;
/**
* Focus the input on initial render
*/
isAutofocussed?: boolean;
/**
* Indicates that the input cannot be modified (e.g not authorized, or changes currently saving).
*/
isDisabled?: boolean;
/**
* Indicates that the field is displaying read-only content
*/
isReadOnly?: boolean;
/**
* Indicates that input has errors
*/
hasError?: boolean;
/**
* Control to indicate on the input if there are selected values that are potentially invalid
*/
hasWarning?: boolean;
/**
* Horizontal size limit of the input fields.
*/
horizontalConstraint?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 'scale' | 'auto';
};
declare const NumberInput: {
({ horizontalConstraint, ...props }: TNumberInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
displayName: string;
toFormValue(numberOrString: number | string): string | number;
isEmpty(value: number | string): boolean;
hasFractionDigits(number: number | string): boolean;
};
export default NumberInput;