import { TextFieldProps } from '@material-ui/core/TextField'; import React, { PureComponent } from 'react'; import { IFieldValidationContext } from '../validator/context'; export interface IStateFieldBase { touched: boolean; errorMessage: string; submitted: boolean; } export interface IPropsFieldBase extends TextFieldProps { disabled?: boolean; value?: any; classes?: any; validation?: string; validationContext?: Object; errorMessage?: string; onChange?: (value: any) => void; } export default abstract class FieldBase

extends PureComponent { protected validationContext: IFieldValidationContext; constructor(props: any); readonly errorMessage: S["errorMessage"]; readonly isRequired: boolean; static getDerivedStateFromProps({ name, value, validation, validationContext, children }: IPropsFieldBase, currentState: IStateFieldBase): IStateFieldBase; componentWillUnmount(): void; setFormSubmitted: (submitted: boolean) => void; isValid: () => boolean; setContext: (newContext: IFieldValidationContext) => React.ReactNode; render(): JSX.Element; }