import { default as React, CSSProperties } from 'react';
export interface InputFieldProps {
    label?: string;
    name?: string;
    id?: string;
    type?: "text" | "password" | "email" | "number" | "url" | "tel" | "search" | "textarea";
    placeholder?: string;
    description?: string;
    value?: string;
    defaultValue?: string;
    onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
    onFocus?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
    onBlur?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
    required?: boolean;
    disabled?: boolean;
    readOnly?: boolean;
    error?: string | boolean;
    success?: boolean;
    helperText?: string;
    icon?: React.ElementType;
    prefix?: string;
    prefixIcon?: React.ElementType;
    suffixIcon?: React.ReactNode;
    min?: number;
    max?: number;
    step?: number;
    maxLength?: number;
    rows?: number;
    size?: "sm" | "md" | "lg";
    wrapperClassName?: string;
    labelClassName?: string;
    inputClassName?: string;
    textareaClassName?: string;
    prefixClassName?: string;
    suffixClassName?: string;
    helperTextClassName?: string;
    descriptionClassName?: string;
    wrapperStyle?: CSSProperties;
    inputStyle?: CSSProperties;
    labelStyle?: CSSProperties;
}
export declare const Input: React.ForwardRefExoticComponent<InputFieldProps & React.RefAttributes<HTMLInputElement | HTMLTextAreaElement>>;
