import { HNDesignsystemInput } from '../../resources/Resources';
import { ErrorWrapperClassNameProps } from '../ErrorWrapper';
import { SvgIcon } from '../Icon';
import { IconName } from '../Icons/IconNames';
import { InputTypes } from './constants';
import { FormOnColor, FormSize } from '../../constants';
export interface InputProps extends ErrorWrapperClassNameProps, Pick<React.InputHTMLAttributes<HTMLInputElement>, 'disabled' | 'readOnly' | 'autoComplete' | 'name' | 'placeholder' | 'defaultValue' | 'required' | 'value' | 'min' | 'max' | 'aria-describedby' | 'aria-labelledby' | 'onBlur' | 'onClick' | 'onChange' | 'onFocus' | 'onKeyDown' | 'autoFocus' | 'inputMode'> {
    /** The number at which the input field starts when you increment or decrement it */
    baseIncrementValue?: number;
    /** Adds custom classes to the element. */
    className?: string;
    /**  HMTL Input type */
    type?: keyof typeof InputTypes;
    /** input id */
    inputId?: string;
    /** Width of input field in characters (approximate) */
    width?: number;
    /** If true, the component will be transparent. */
    transparent?: boolean;
    /** Icon to be displayed next to the input field */
    icon?: SvgIcon | IconName;
    /** Places the icon to the right */
    iconRight?: boolean;
    /** Ref that is placed on the inputContainerRef */
    inputContainerRef?: React.RefObject<HTMLDivElement | null>;
    /** Ref that is placed on the inputWrapper */
    inputWrapperRef?: React.RefObject<HTMLDivElement | null>;
    /** Changes the color profile of the input */
    onColor?: keyof typeof FormOnColor;
    /** Changes the visuals of the input */
    size?: keyof typeof FormSize;
    /** Label of the input */
    label?: React.ReactNode;
    /** Activates Error style for the input */
    error?: boolean;
    /** Error text to show above the component */
    errorText?: string;
    /** Error text id */
    errorTextId?: string;
    /** Sets the data-testid attribute. */
    testId?: string;
    /** Component shown after input */
    afterInputChildren?: React.ReactNode;
    /** Component shown to the right of input */
    rightOfInput?: React.ReactNode;
    /** max character limit in input  */
    maxCharacters?: number;
    /** Resources for component */
    resources?: Partial<HNDesignsystemInput>;
    /** Ref passed to the input element */
    ref?: React.Ref<HTMLInputElement | null>;
}
declare const Input: React.FC<InputProps>;
export default Input;
