import React, { FC } from 'react';
import { FormSizesType, SizeType } from '../../util/global-props';
import { IconPropsType } from '../icon/icon.component';
import { iconMap } from '../icon/icon.library';
import './input.component.scss';
export declare type InputPropsType = {
    className?: string;
    value?: string | typeof undefined;
    name?: string;
    placeholder?: string;
    icon?: keyof typeof iconMap;
    iconColor?: IconPropsType['color'];
    after?: React.ReactNode;
    before?: React.ReactNode;
    type?: 'text' | 'number' | 'password' | 'email';
    size?: FormSizesType;
    flex?: number;
    margin?: SizeType;
    autocompleteAttr?: string;
    clearable?: boolean;
    autoFocus?: boolean;
    autoComplete?: boolean;
    disabled?: boolean;
    fullWidth?: boolean;
    transparent?: boolean;
    readOnly?: boolean;
    required?: boolean;
    nativeProps?: React.InputHTMLAttributes<HTMLInputElement>;
    textCentered?: boolean;
    ref?: React.Ref<HTMLInputElement>;
    onChange?: React.ChangeEventHandler<HTMLInputElement>;
    onClick?: React.MouseEventHandler<HTMLInputElement>;
    onClear?: React.MouseEventHandler<HTMLButtonElement>;
    onFocus?: React.FocusEventHandler<HTMLInputElement>;
    onBlur?: React.FocusEventHandler<HTMLInputElement>;
    onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>;
    onKeyPress?: React.KeyboardEventHandler<HTMLInputElement>;
    onKeyUp?: React.KeyboardEventHandler<HTMLInputElement>;
};
export declare const Input: FC<InputPropsType>;
