import React, { ChangeEvent, HTMLInputTypeAttribute } from 'react';
export type InputProps = {
    [key: string]: any;
    /**
     * Input classes.
     */
    className?: string;
    /**
     * Additional Classes to pass to Input
     */
    classes?: string;
    /**
     * Input disabled.
     */
    disabled?: boolean;
    /**
     * externalClasses to override
     */
    externalClasses?: {
        input?: string;
        span?: string;
        suffix?: string;
    };
    /**
     * Input id.
     */
    id?: string;
    /**
     * isMoney
     */
    isMoney?: boolean;
    /**
     * Input name.
     */
    name?: string;
    /**
     * Input on change.
     */
    onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
    /**
     * fires onInput and return `e.currentTarget.value`
     */
    onValueChange?: (targetValue: string) => void;
    /**
     * Input pattern.
     */
    pattern?: string;
    /**
     * Input placeholder.
     */
    placeholder?: string;
    prefix?: string | JSX.Element;
    /**
     * Input required.
     */
    required?: boolean;
    /**
     * Input size.
     */
    size?: 'middle' | 'large';
    suffix?: string;
    /**
     * Input type.
     */
    type?: HTMLInputTypeAttribute;
    /**
     * Input value.
     */
    value?: string | number;
    /**
     * manual width for actual input:
     */
    width?: number;
};
export declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
