import * as React from 'react';
import type { HTMLProps } from '../utils/utilityTypes';
import type { BaseInputTextareaProps, BaseInputTextProps } from './interface';
export interface InputCssVars {
    '--height'?: React.CSSProperties['height'];
    '--line-height': React.CSSProperties['lineHeight'];
    '--font-size'?: React.CSSProperties['fontSize'];
    '--color'?: React.CSSProperties['color'];
    '--background'?: React.CSSProperties['background'];
    '--label-font-size'?: React.CSSProperties['fontSize'];
    '--placeholder-color'?: React.CSSProperties['color'];
    '--disabled-color'?: React.CSSProperties['color'];
    '--clear-icon-size'?: React.CSSProperties['width'];
    '--clear-icon-color'?: React.CSSProperties['color'];
    '--textarea-length-font-size'?: React.CSSProperties['fontSize'];
    '--textarea-length-color'?: React.CSSProperties['color'];
}
export declare type InputTextProps = BaseInputTextProps & HTMLProps<InputCssVars> & React.InputHTMLAttributes<HTMLInputElement>;
export declare type InputTextareaProps = BaseInputTextareaProps & React.TextareaHTMLAttributes<HTMLTextAreaElement> & HTMLProps<InputCssVars>;
export declare type InputProps = {
    type?: string;
} & (InputTextProps | InputTextareaProps);
export interface InputRef {
    focus: () => void;
    blur: () => void;
    clear: () => void;
    nativeElement: HTMLInputElement | HTMLTextAreaElement | null;
}
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<unknown>>;
export default Input;
