import * as React from 'react'; import { StandardProps, PropTypes } from '..'; import { FormControlClassKey, FormControlProps } from '../FormControl'; import { FormHelperTextProps } from '../FormHelperText'; import { InputProps as StandardInputProps } from '../Input'; import { FilledInputProps } from '../FilledInput'; import { OutlinedInputProps } from '../OutlinedInput'; import { InputLabelProps } from '../InputLabel'; import { SelectProps } from '../Select'; export interface BaseTextFieldProps extends StandardProps { autoComplete?: string; autoFocus?: boolean; children?: React.ReactNode; defaultValue?: string | number; disabled?: boolean; error?: boolean; FormHelperTextProps?: Partial; fullWidth?: boolean; helperText?: React.ReactNode; id?: string; InputLabelProps?: Partial; inputRef?: React.Ref | React.RefObject; label?: React.ReactNode; margin?: PropTypes.Margin; multiline?: boolean; name?: string; onChange?: React.ChangeEventHandler; placeholder?: string; required?: boolean; rows?: string | number; rowsMax?: string | number; select?: boolean; SelectProps?: Partial; type?: string; value?: Array | string | number | boolean; } export interface StandardTextFieldProps extends BaseTextFieldProps { variant?: 'standard'; InputProps?: Partial; inputProps?: StandardInputProps['inputProps']; } export interface FilledTextFieldProps extends BaseTextFieldProps { variant: 'filled'; InputProps?: Partial; inputProps?: FilledInputProps['inputProps']; } export interface OutlinedTextFieldProps extends BaseTextFieldProps { variant: 'outlined'; InputProps?: Partial; inputProps?: OutlinedInputProps['inputProps']; } export type TextFieldProps = StandardTextFieldProps | FilledTextFieldProps | OutlinedTextFieldProps; export type TextFieldClassKey = FormControlClassKey; declare const TextField: React.ComponentType; export default TextField;