import * as React from 'react';
import type { FocusableProps, ValidationState } from '@react-types/shared';
import { As, Options, Props } from '../../system';
import type { StyleProps } from '../../types';
export declare type NumberFieldBaseElement = 'div';
export interface NumberFieldBaseOptions<T extends As = NumberFieldBaseElement> extends Options<T>, FocusableProps, StyleProps {
    /**
     * Helper text to append to the form control input element.
     */
    helperText?: React.ReactNode;
    /**
     * Props passed to the helper text.
     */
    helperTextProps?: React.HTMLAttributes<HTMLElement>;
    /**
     * The ref passed to the input element.
     */
    inputRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>;
    /**
     * Props passed to the input element.
     */
    inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
    /**
     * Whether the input is disabled.
     */
    isDisabled?: boolean;
    /**
     * Whether the input can be selected but not changed by the user.
     */
    isReadOnly?: boolean;
    /**
     * Whether user input is required on the input before form submission.
     */
    isRequired?: boolean;
    /**
     * Label of the input element
     */
    label?: React.ReactNode;
    /**
     * Props passed to the label.
     */
    labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;
    /**
     * Whether the input should display its "valid" or "invalid" visual styling.
     */
    validationState?: ValidationState;
}
export declare type NumberFieldBaseProps<T extends As = NumberFieldBaseElement> = Props<NumberFieldBaseOptions<T>>;
export declare const NumberFieldBase: import("../../system").Component<NumberFieldBaseOptions<"div">>;
//# sourceMappingURL=NumberFieldBase.d.ts.map