import { type NumberFormatValues, type OnValueChange } from "react-number-format"; import { type TextInputProps } from "../TextInput"; export interface NumberInputProps extends Omit { /** Controlled component value */ value?: number | string; /** Uncontrolled component default value */ defaultValue?: number | string; onChange?: (value: number | string) => void; /** Called when value changes with `react-number-format` payload */ onValueChange?: OnValueChange; /** Minimum possible value */ min?: number; /** Maximum possible value */ max?: number; /** Number by which value will be incremented/decremented with up/down controls and keyboard arrows * @default 1 */ step?: number; /** Controls how value is clamped * `strict` – user is not allowed to enter values that are not in `[min, max]` range, * `blur-sm` – user is allowed to enter any values, but the value is clamped when the input loses focus (default behavior), * `none` – lifts all restrictions, `[min, max]` range is applied only for controls and up/down keys * @default "blur-sm" */ clampBehavior?: "strict" | "blur-sm" | "none"; /** Prefix added before the input value */ prefix?: string; /** Suffix added after the input value */ suffix?: string; /** Determines whether negative values are allowed * @default true */ allowNegative?: boolean; /** Determines whether decimal values are allowed * @default true */ allowDecimal?: boolean; /** Limits the number of digits that can be entered after the decimal point */ decimalScale?: number; /** Defines the thousand grouping style. */ thousandsGroupStyle?: "thousand" | "lakh" | "wan"; /** A function to validate the input value. If this function returns `false`, the `onChange` will not be called and the input value will not change. */ isAllowed?: (values: NumberFormatValues) => boolean; } /** NumberInput继承了TextInput的所有属性 */ export declare function NumberInput(props: NumberInputProps): import("react").JSX.Element;