import React__default from 'react';
import { LabelProps } from '../label/index.js';
import '../commonTypes-DinbCdmt.js';

type TextFieldTypes = React__default.InputHTMLAttributes<HTMLInputElement> & {
    isLoading?: boolean;
    isLoadingError?: boolean;
    containerClassName?: string;
    margin?: "none" | "normal" | "large";
    width?: "small" | "normal" | "full" | "auto";
    /** The label of the input field   */
    label?: any;
    labelProps?: LabelProps;
    hideSeparator?: boolean;
    /** The small red text under the input field to show validation.   */
    helperText?: any;
    prefixText?: any;
    forceHideHelperText?: boolean;
    inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
    /** The icon inside the input field */
    icon?: any;
    /** Boolean to enable/disable editing the input field and using it as a text field   */
    preview?: boolean;
    iconInside?: React__default.ReactNode;
    endIcon?: React__default.ReactNode;
    endIconProps?: {
        className?: string;
    };
    startIcon?: React__default.ReactNode;
    placeholder?: React__default.ReactNode;
    /** Show the count of characters left in the input field. Works along with maxLength prop.   */
    showCount?: boolean;
    countPosition?: "top" | "bottom" | "center";
    popup?: boolean;
    popupContent?: React__default.ReactNode;
    outsidePrefix?: any;
    loadingErrorMesssage?: string;
};
declare const Input: React__default.ForwardRefExoticComponent<React__default.InputHTMLAttributes<HTMLInputElement> & {
    isLoading?: boolean;
    isLoadingError?: boolean;
    containerClassName?: string;
    margin?: "none" | "normal" | "large";
    width?: "small" | "normal" | "full" | "auto";
    /** The label of the input field   */
    label?: any;
    labelProps?: LabelProps;
    hideSeparator?: boolean;
    /** The small red text under the input field to show validation.   */
    helperText?: any;
    prefixText?: any;
    forceHideHelperText?: boolean;
    inputProps?: React__default.InputHTMLAttributes<HTMLInputElement>;
    /** The icon inside the input field */
    icon?: any;
    /** Boolean to enable/disable editing the input field and using it as a text field   */
    preview?: boolean;
    iconInside?: React__default.ReactNode;
    endIcon?: React__default.ReactNode;
    endIconProps?: {
        className?: string;
    };
    startIcon?: React__default.ReactNode;
    placeholder?: React__default.ReactNode;
    /** Show the count of characters left in the input field. Works along with maxLength prop.   */
    showCount?: boolean;
    countPosition?: "top" | "bottom" | "center";
    popup?: boolean;
    popupContent?: React__default.ReactNode;
    outsidePrefix?: any;
    loadingErrorMesssage?: string;
} & React__default.RefAttributes<HTMLInputElement>>;

export { Input, type TextFieldTypes };
