import React, { ChangeEvent, FocusEvent, ForwardedRef, HTMLProps } from 'react';
import { GenericComponent } from '../../@types/types';
import { SIZES } from '../../constants';
export interface InputBaseProps extends Pick<HTMLProps<HTMLInputElement | HTMLTextAreaElement>, 'autoFocus' | 'inputMode' | 'onKeyDown' | 'placeholder'> {
    /** Boolean indicating whether the input text should render in bold. */
    bold?: boolean;
    /** Sets a class name for the wrapper to give custom styles. */
    className?: string;
    /** Boolean indicating whether the input should render as disabled. */
    disabled?: boolean;
    /** The element to render. */
    element?: 'input' | 'textarea';
    /** Boolean indicating whether the input should render as inverse. */
    inverse?: boolean;
    /** Callback function that is fired when blurring the input field. */
    onBlur?: (event: FocusEvent<HTMLInputElement>) => void;
    /** Callback function that is fired when the component's value changes. */
    onChange?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
    /** Callback function that is fired when focusing the input field. */
    onFocus?: (event: React.FocusEvent<HTMLElement>) => void;
    /** Boolean indicating whether the input should render as read only. */
    readOnly?: boolean;
    /** Forwarded ref element. */
    ref?: ForwardedRef<HTMLElement>;
    /** Size of the input element. */
    size?: Exclude<typeof SIZES[number], 'fullscreen' | 'smallest' | 'hero'>;
    /** If true, the input text is aligned to the right. */
    textAlignRight?: boolean;
    /** Type of the input element. It can be a valid HTML5 input type. */
    type?: 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
    /** Current value of the input element. */
    value?: string | number;
}
declare const InputBase: GenericComponent<InputBaseProps>;
export default InputBase;
