import * as React from 'react';
import { TextFieldProps } from './TextField';
export declare const numberFieldTypes: readonly ["integer", "decimal"];
type NumberFieldType = (typeof numberFieldTypes)[number];
export type NumberFieldProps = Omit<TextFieldProps, 'value' | 'onChange' | 'multiline' | 'onScroll' | 'type' | 'defaultValue'> & {
    /**
     * The numeric value of this input.
     */
    value?: number | null;
    /**
     * The numerical set to which the field belongs.
     * * @default integer
     */
    type?: NumberFieldType;
    /**
     * Called when value is changed internally (both with user typing or
     * by using arrowUp/arrowDown keyboard keys)
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: number | null) => void;
    /**
     * number of decimal places to which the number is rounded (only for the "decimal" type)
     * @default 0
     */
    fractionDigits?: number;
    /**
     * Maximum value allowed
     */
    maxValue?: number;
    /**
     * Minimum value allowed
     */
    minValue?: number;
    /**
     * Number to be added or removed to the value on every arrowUp/arrowDown when input has focus
     * @default 1
     */
    step?: number;
    /**
     * If true, the stepper buttons will be shown
     * @default false
     */
    withStepperButtons?: boolean;
    /**
     * Tooltip for the increase stepper button when it is disabled
     */
    stepUpDisabledTooltip?: string;
    /**
     * Tooltip for the decrease stepper button when it is disabled
     */
    stepDownDisabledTooltip?: string;
};
/**
 * NumberField is a component that renders an input field with type="text", but handles the value
 * to allow only numeric values.
 * It comes with some optional features like an InputLabel, an InputHelperText, a leading Icon
 * and an IconButton to clear the current value of input.
 *
 * The exposed `ref` property is the refference to the native &lt;input&gt; element,
 * typed as React.Ref&lt;HTMLInputElement&gt;
 */
declare const NumberField: React.ForwardRefExoticComponent<Omit<TextFieldProps, "type" | "onChange" | "onScroll" | "value" | "defaultValue" | "multiline"> & {
    /**
     * The numeric value of this input.
     */
    value?: number | null;
    /**
     * The numerical set to which the field belongs.
     * * @default integer
     */
    type?: NumberFieldType;
    /**
     * Called when value is changed internally (both with user typing or
     * by using arrowUp/arrowDown keyboard keys)
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: number | null) => void;
    /**
     * number of decimal places to which the number is rounded (only for the "decimal" type)
     * @default 0
     */
    fractionDigits?: number;
    /**
     * Maximum value allowed
     */
    maxValue?: number;
    /**
     * Minimum value allowed
     */
    minValue?: number;
    /**
     * Number to be added or removed to the value on every arrowUp/arrowDown when input has focus
     * @default 1
     */
    step?: number;
    /**
     * If true, the stepper buttons will be shown
     * @default false
     */
    withStepperButtons?: boolean;
    /**
     * Tooltip for the increase stepper button when it is disabled
     */
    stepUpDisabledTooltip?: string;
    /**
     * Tooltip for the decrease stepper button when it is disabled
     */
    stepDownDisabledTooltip?: string;
} & React.RefAttributes<HTMLInputElement>>;
export default NumberField;
