import React from 'react';
import type { ValidationErrors, NameField, value, TypeTextField, FieldProps } from '../../types';
export interface InputProps<V = value, Name extends NameField = string> extends FieldProps<V, Name> {
    type?: TypeTextField;
}
export declare class Input<V = value, Name extends NameField = string> extends React.Component<InputProps<V, Name>, {
    type: InputProps['type'];
}> {
    constructor(props: InputProps<V, Name>);
    errors: ValidationErrors;
    animation: boolean;
    componentDidMount(): void;
    getProps: (props: InputProps<V, Name>) => {
        render?: import("../../types").RenderField<V, Name> | undefined;
        fullWidth?: boolean | undefined;
        grid?: boolean | undefined;
        autoComplete?: string | undefined;
        InputProps?: import("../../types").InputPropsField<V, Name> | undefined;
        textFieldProps?: import("../../types").TextFieldPropsField | undefined;
        breakpoints?: Partial<Record<import("@mui/system").Breakpoint, boolean | import("@mui/material").GridSize>> | undefined;
        component?: React.ComponentType<FieldProps<V, Name>> | undefined;
        renderErrors?: React.ComponentType<import("../../types").ComponentErrorsProps<V, Name>> | undefined;
        originalProps?: Pick<import("../../types").Validate<V, Name> & import("../../types").PropsFieldBase<V, Name>, "validate" | "value"> | undefined;
        _validate: boolean | ((inputValidator: import("../..").InputValidator<V, Name>) => boolean) | undefined;
        touched?: boolean | undefined;
        validations?: (import("../../types").Validation | import("../../types").ValidationFunction<V, Name>)[] | undefined;
        fieldsBuilder?: import("../../types").GenericFieldsBuilder | undefined;
        type?: import("../../types").TypeField | undefined;
        name: Name;
        value: V;
        defaultInputValue?: V | undefined;
        label?: import("../../types").LabelPropsField | undefined;
        status?: import("../..").StatusField | undefined;
        errors?: ValidationErrors | undefined;
        inputRef?: HTMLInputElement | null | undefined;
        onChange?: import("../../types").OnChangeField<V, Name> | undefined;
        onSetValue?: import("../../types").OnSetValue<V, Name> | undefined;
        pristine: boolean;
    };
    getLastProps: () => {
        render?: import("../../types").RenderField<V, Name> | undefined;
        fullWidth?: boolean | undefined;
        grid?: boolean | undefined;
        autoComplete?: string | undefined;
        InputProps?: import("../../types").InputPropsField<V, Name> | undefined;
        textFieldProps?: import("../../types").TextFieldPropsField | undefined;
        breakpoints?: Partial<Record<import("@mui/system").Breakpoint, boolean | import("@mui/material").GridSize>> | undefined;
        component?: React.ComponentType<FieldProps<V, Name>> | undefined;
        renderErrors?: React.ComponentType<import("../../types").ComponentErrorsProps<V, Name>> | undefined;
        originalProps?: Pick<import("../../types").Validate<V, Name> & import("../../types").PropsFieldBase<V, Name>, "validate" | "value"> | undefined;
        _validate: boolean | ((inputValidator: import("../..").InputValidator<V, Name>) => boolean) | undefined;
        touched?: boolean | undefined;
        validations?: (import("../../types").Validation | import("../../types").ValidationFunction<V, Name>)[] | undefined;
        fieldsBuilder?: import("../../types").GenericFieldsBuilder | undefined;
        type?: import("../../types").TypeField | undefined;
        name: Name;
        value: V;
        defaultInputValue?: V | undefined;
        label?: import("../../types").LabelPropsField | undefined;
        status?: import("../..").StatusField | undefined;
        errors?: ValidationErrors | undefined;
        inputRef?: HTMLInputElement | null | undefined;
        onChange?: import("../../types").OnChangeField<V, Name> | undefined;
        onSetValue?: import("../../types").OnSetValue<V, Name> | undefined;
        pristine: boolean;
    };
    render(): JSX.Element;
}
export default Input;
