import React from 'react'; import type { ChangeEvent, ClipboardEvent, KeyboardEvent, FocusEvent, ReactNode, SyntheticEvent, Ref } from 'react'; import type { DefaultProps } from '../../types'; import type { InputBaseComponentProps } from '@mui/material/InputBase'; import type { TextFieldProps } from '@mui/material/TextField'; export interface IOption { label: string; name?: string; disabled?: boolean; value: string | number; } export interface ITextFieldProps extends DefaultProps, Omit { autoComplete?: string; options?: IOption[] | string; autoFocus?: boolean; defaultValue?: string | number; disabled?: boolean; error?: boolean; fullWidth?: boolean; id?: string; label?: string; placeholder?: string; multiline?: boolean; name?: string; required?: boolean; select?: boolean; type?: string; value?: string | number; variant?: 'filled' | 'outlined' | 'standard'; inputRef?: Ref; inputProps?: InputBaseComponentProps; InputProps?: object; InputLabelProps?: object; SelectProps?: object; rows?: string | number; rowsMax?: string | number; helperText?: ReactNode; helperIcon?: ReactNode; showEdit?: boolean; hasClear?: boolean; characters?: boolean; onClear?: () => void; onHelperClick?: () => void; onChange?: (event: ChangeEvent) => void; onPaste?: (event: ClipboardEvent) => void; onBlur?: (event: FocusEvent) => void; onKeyUp?: (event: KeyboardEvent) => void; onKeyDown?: (event: KeyboardEvent) => void; } interface IHelperProps { helperIcon?: ReactNode; onHelperClick: (event: SyntheticEvent) => void; } export declare const HelperBox: (props: IHelperProps) => React.JSX.Element; export declare const renderOptions: (options: ITextFieldProps["options"]) => React.JSX.Element[] | undefined; declare const TextField: ({ options, size, margin, padding, style, error, variant, InputLabelProps, InputProps, SelectProps, autoComplete, onHelperClick, helperIcon, fullWidth, hasClear, onClear, onChange, characters, children, ...otherProps }: ITextFieldProps) => React.JSX.Element; export default TextField;