import { FC, Ref, HTMLAttributes } from "react";
import { EColor } from "../../enum/index";
import "./index.scss";
export declare enum ESwitchSize {
    XS = "xs",
    S = "s",
    M = "m",
    L = "l"
}
export declare enum EIconPosition {
    LEFT = "icon-left",
    RIGHT = "icon-right"
}
export declare enum EFormControlType {
    PASSWORD = "password",
    CHECKBOX = "checkbox",
    RADIO = "radio",
    SEARCH = "search",
    SWITCH = "switch",
    EMAIL = "email",
    TEXT = "text",
    TEXTAREA = "textarea",
    DATE = "date",
    COLOR = "color",
    HIDDEN = "hidden",
    NUMBER = "number",
    TEL = "tel"
}
interface IDefaultAttributes {
    name?: string;
    value?: string;
    checked?: boolean;
    defaultChecked?: boolean;
    max?: string;
    min?: string;
    multiple?: boolean;
    readonly?: boolean;
    required?: boolean;
    maxLength?: number;
    minLength?: number;
    length?: number;
}
export interface IProps extends HTMLAttributes<HTMLElement>, IDefaultAttributes {
    ref?: Ref<any>;
    disabled?: boolean;
    autoComplete?: string;
    label?: string;
    className?: string;
    type?: EFormControlType;
    color?: EColor;
    icon?: string;
    iconPosition?: string;
    switchSize?: string;
    switchOff?: string;
    switchOn?: string;
    amount?: string;
    errorText?: string;
    _required?: string;
    _mask?: string;
    _number?: string;
    _min?: string;
    _max?: string;
    _password?: string;
    _passwordrepeat?: string;
    _strongpassword?: string;
    _minlength?: string;
    _maxlength?: string;
    _length?: string;
    _email?: string;
    _amount?: string;
    _pan?: string;
    _panbasic?: string;
    _pin?: string;
    _formname?: string;
    _customregex?: string;
    _resetbtn?: string;
    _ignore?: string;
    _phone?: string;
}
declare const FormControl: FC<IProps>;
export default FormControl;
