import { FunctionComponent, HTMLProps, ReactNode, MutableRefObject } from 'react';
import '../../helpers/base.less';
import './Input.less';
declare type RootProps = {
    [k: string]: any;
} & HTMLProps<HTMLSpanElement>;
export declare type InputProps = {
    /**
     * The HTML input type.
     * @since 0.0.57
     */
    type?: string;
    /**
     * Size of the input.
     * @since 0.0.57
     */
    size?: number | 'sm' | 'md' | 'lg' | 'xl' | 'fill';
    /**
     * Text alignment inside input.
     * @since 2.2.0
     */
    textAlign?: 'left' | 'center' | 'right';
    /**
     * The place for an icon (or a ghost button) before the input.
     * @since 2.2.0
     */
    prefix?: ReactNode;
    /**
     * The place for an icon (or a ghost button) after the input.
     * @since 2.2.0
     */
    suffix?: ReactNode;
    /**
     * Props for the root element.
     * @since 2.2.0
     */
    rootProps?: RootProps;
    /**
     * @ignore
     */
    className?: string;
    /**
     * @ignore
     */
    baseClassName?: string;
    /**
     * @ignore
     */
    innerRef?: MutableRefObject<null | HTMLInputElement> | ((el: HTMLInputElement) => void);
} & Omit<HTMLProps<HTMLInputElement>, 'size' | 'prefix'>;
/**
 * `Input` component is used for entering short text (like user name or email address).
 * @since 0.0.57
 */
declare const Input: FunctionComponent<InputProps>;
export default Input;
