import React, { PureComponent, RefObject } from 'react'; import { OnChangeParameters } from '../_utils/onChange'; export declare type CommonFormFields = Readonly<{ name: string; id?: string; placeholder?: string; maxLength?: number; autoCorrect?: 'on' | 'off'; autoComplete?: 'on' | 'off'; disabled?: boolean; readOnly?: boolean; autoFocus?: boolean; required?: boolean; title?: string; onFocus?: (event: React.FocusEvent) => void; onBlur?: (event: React.FocusEvent) => void; }>; declare type errorField = string | JSX.Element; export declare type TextareaProps = CommonFormFields & Readonly<{ defaultValue?: string; labelledBy?: string; onChange?: (obj: OnChangeParameters) => void; className?: string; errorClassName?: string; error?: errorField; label?: string; focus?: boolean; pattern?: string; fieldRef?: (textarea: HTMLTextAreaElement) => void; focusBorder?: boolean; fitContent?: boolean; onButtonClick?: (event: React.MouseEvent) => void; buttonIcon?: JSX.Element; buttonTitle?: string; }>; export declare type TextAreaState = { value: string; defaultValue: string; hasFocus: boolean; }; export declare class Textarea extends PureComponent { static defaultProps: Partial; state: { value: string; defaultValue: string; hasFocus: boolean; }; buttonRef: HTMLButtonElement; textareaRef: RefObject; componentDidMount(): void; static getDerivedStateFromProps(props: TextareaProps, state: TextAreaState): { value: string; defaultValue: string; hasFocus: boolean; }; componentDidUpdate(prevProps: TextareaProps): void; onWrapperClick: () => void; onFocus: (event: React.FocusEvent) => void; onBlur: (event: React.FocusEvent) => void; onTextAreaChange: (event: React.ChangeEvent) => void; maybeAdaptHeightToContent: () => void; onChange: () => void; ref: (textarea: HTMLTextAreaElement) => void; renderError: () => JSX.Element; render(): JSX.Element; } export {};