import type { RefObject } from 'react';
import type { InputMaskedProps } from '../../../../components/InputMasked';
import type { InputAlign, InputSize } from '../../../../components/Input';
import type { FieldBlockWidth } from '../../FieldBlock';
import type { FieldProps } from '../../types';
export type FieldNumberProps = FieldProps<number, undefined | number> & {
    /** Ref to the underlying input element. */
    ref?: RefObject<HTMLInputElement>;
    /** Additional CSS class applied to the inner input element. */
    inputClassName?: string;
    /**
     * Currency code (ISO 4217) or `true` to use the default `NOK`. Uses two decimals by default.
     */
    currency?: InputMaskedProps['asCurrency'];
    /** How to display the currency symbol: `code` (e.g., USD), `symbol` (e.g., $), `narrowSymbol`, or `name`. */
    currencyDisplay?: 'code' | 'symbol' | 'narrowSymbol' | 'name' | false;
    /**
     * Format a number as a percentage.
     */
    percent?: InputMaskedProps['asPercent'];
    /**
     * An array or a function returning an array of regexes to use as a mask for the input. If not given, the input will not be masked.
     */
    mask?: InputMaskedProps['mask'];
    /**
     * Determines step granularity when increasing/decreasing the value via step control buttons or arrow keys. Defaults to `1`.
     */
    step?: number;
    /**
     * When no `value` or `defaultValue` is given, start with a given value when increasing/decreasing the value via step control buttons or arrow keys. Defaults to `null`.
     */
    startWith?: number;
    /**
     * Max number of decimals. Values with more decimals will be rounded. Defaults to `12`.
     */
    decimalLimit?: number;
    /**
     * Whether or not to allow negative numbers. Defaults to `true`.
     */
    allowNegative?: boolean;
    /**
     * Whether or not to allow leading zeroes during typing. Defaults to `false`.
     */
    disallowLeadingZeroes?: boolean;
    /**
     * Text added before the value input.
     */
    prefix?: string | ((value: number) => string);
    /**
     * Text added after the value input.
     */
    suffix?: string | ((value: number) => string);
    /**
     * Validation for inclusive minimum number value (greater than or equal). Defaults to `Number.MIN_SAFE_INTEGER`.
     */
    minimum?: number;
    /**
     * Validation for inclusive maximum number value (less than or equal). Defaults to `Number.MAX_SAFE_INTEGER`.
     */
    maximum?: number;
    /**
     * Validation for exclusive minimum number value (greater than).
     */
    exclusiveMinimum?: number;
    /**
     * Validation for exclusive maximum number value (less than).
     */
    exclusiveMaximum?: number;
    /**
     * Validation that requires the number to be a multiple of a given value.
     */
    multipleOf?: number;
    /** The size of the input. Available sizes: `small`, `medium` (default), `large`. */
    size?: InputSize;
    /**
     * `false` for no width (use browser default), `small`, `medium` or `large` for predefined standard widths, `stretch` for fill available width.
     */
    width?: FieldBlockWidth;
    /**
     * Lateral alignment of contents of input field, one of `left` (default), `center`, or `right`.
     */
    align?: InputAlign;
    /**
     * Show buttons that increase/decrease the value by the step amount.
     */
    showStepControls?: boolean;
    /** Text showing in place of the value if no value is given. */
    placeholder?: string;
};
declare function NumberComponent(props: FieldNumberProps): import("react/jsx-runtime").JSX.Element;
export default NumberComponent;
