import type { MutableRefObject } from 'react';
import type { FieldValues, Noop, RefCallBack, UseFormTrigger } from 'react-hook-form';
import type { TextFieldVariants } from '@mui/material/TextField';
import type { TypographyVariantKeys } from 'assets';
import type { InputType } from 'models';
import type { FormErrorType } from 'models/general.model';
export interface InputProps<T extends FieldValues> {
    placeholder?: string;
    type?: InputType;
    size?: 'small' | 'medium';
    disabled?: boolean;
    value: string | number;
    helpText?: string;
    onChange: (...event: any[]) => void;
    error?: FormErrorType;
    debounce?: number;
    fullWidth?: boolean;
    variant?: TextFieldVariants | undefined;
    label?: string;
    formOnBlur?: Noop;
    trigger?: UseFormTrigger<T>;
    ariaLabel?: string;
    maxLength?: number;
    onlyPlus?: boolean;
    clearIcon?: boolean;
    required?: boolean;
    inputRef: MutableRefObject<HTMLInputElement | null> | RefCallBack;
    isEnglish?: boolean;
    titleVariant?: TypographyVariantKeys;
    noAnimation?: boolean;
    inputVariant?: TypographyVariantKeys;
    underlineColor?: string;
    autoComplete?: string;
    validateOnChange?: boolean;
    invalidCharErrorMessage?: string;
    showWithCurrency?: boolean;
}
