import React, { FC } from 'react'; import { TextFieldProps as MuiTextFieldProps } from '@mui/material'; export interface TextFieldProps { /** * The id of the `input` element. */ id: string; /** * Whether the `input` element is disabled. */ disabled?: boolean; /** * An icon that will be shown before text. Must be an icon component. */ icon?: React.ReactNode; /** * Text for the placeholder. */ placeholder?: string; /** * The value for the `input` element. */ value?: any; /** * The default value for the `input` element. */ defaultValue?: any; /** * Whether error state is true. */ error?: boolean; /** * Helper text that appears below the input, useful for showing hints. */ helperText?: React.ReactNode; /** * The content of the label, if empty no label will be shown. */ label?: React.ReactNode; /** * Whether this input is required, will append an asterisk if a label is used. */ required?: boolean; /** * Input name. */ name?: string; /** * Runs when component value changes. */ onChange?: React.ChangeEventHandler; /** * Pass a ref to the input element. */ inputRef?: React.Ref; /** * Type of input to be displayed. */ type?: string; /** * The pattern attribute of the input */ pattern?: string; /** * If true, a textarea element is rendered instead of an input. */ multiline?: true; /** * Number of rows to display when multiline option is set to true. */ rows?: number | string; /** * Minimum number of rows to display when multiline option is set to true. */ minRows?: number | string; /** * Maximum number of rows to display when multiline option is set to true. */ maxRows?: number | string; /** * When set to true, label is shown on the left. */ labelLeft?: boolean; /** * Input attribute as props */ inputProps?: MuiTextFieldProps['inputProps']; } /** * Text fields are used within forms to submit or edit information. */ export declare const TextField: FC;