import { ReactNode, Ref, CSSProperties } from 'react';
import { TooltipProps, TypographyProps, BoxProps, TextFieldProps as MTextFieldProps } from '@mui/material';
import { GenericInputFieldProps } from './types';

export type SpecificMuiTextFieldProps = Omit<MTextFieldProps, ('inputProps' | 'InputProps' | 'FormHelperTextProps' | 'slotProps' | 'InputLabelProps' | 'SelectProps' | 'ref') | keyof GenericInputFieldProps<'text'>>;
export type CustomTextFieldProps = {
    borderRadius?: number;
    endIcon?: ReactNode;
    startIcon?: ReactNode;
    injectComponent?: ReactNode;
    slotProps?: {
        rootContainer?: Omit<BoxProps, 'sx'> & {
            sx: BoxProps['sx'] & CSSProperties;
        };
        inputContainer?: MTextFieldProps['InputProps'];
        input?: MTextFieldProps['inputProps'];
        tooltip?: TooltipProps;
        formHelperText?: MTextFieldProps['FormHelperTextProps'];
        notchedInputLabel?: MTextFieldProps['InputLabelProps'];
        label?: TypographyProps;
        select?: MTextFieldProps['SelectProps'];
    };
    labelRightInfo?: string;
};
export type CTextFieldProps = GenericInputFieldProps<'text'> & SpecificMuiTextFieldProps & CustomTextFieldProps & {
    ref?: Ref<HTMLInputElement>;
};
export declare const CTextField: {
    (props: CTextFieldProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
