import * as React from 'react'; import { TextareaControlProps } from './controls/textarea'; declare const defaultProps: { value: string; updateOnBlur: boolean; updateOnChange: boolean; blurDebounceInterval: number; changeDebounceInterval: number; cols: number; rows: number; blurCallback: (name: string, value: string) => void; changeCallback: (name: string, value: import("../types").ComponentValue) => void; elementWrapperClassName: import("classnames/types").ClassValue; errorMessages: React.ReactNode[]; help: string; id: string; isPristine: boolean; label: React.ReactNode; labelClassName: import("classnames/types").ClassValue; layout: import("../types").LayoutType; onSetValue: (value: import("../types").ComponentValue) => void; rowClassName: import("classnames/types").ClassValue; showErrors: boolean; }; declare type TextareaProps = TextareaControlProps & typeof defaultProps; interface State { currentValue: string; incomingPropValue: string; valueIsChanging: boolean; } declare class Textarea extends React.Component { static defaultProps: { value: string; updateOnBlur: boolean; updateOnChange: boolean; blurDebounceInterval: number; changeDebounceInterval: number; cols: number; rows: number; blurCallback: (name: string, value: string) => void; changeCallback: (name: string, value: import("../types").ComponentValue) => void; elementWrapperClassName: import("classnames/types").ClassValue; errorMessages: React.ReactNode[]; help: string; id: string; isPristine: boolean; label: React.ReactNode; labelClassName: import("classnames/types").ClassValue; layout: import("../types").LayoutType; onSetValue: (value: import("../types").ComponentValue) => void; rowClassName: import("classnames/types").ClassValue; showErrors: boolean; }; private changeDebounced; private blurDebounced; constructor(props: any); static getDerivedStateFromProps(props: any, state: any): null | Partial; shouldComponentUpdate(nextProps: any, nextState: any): boolean; private handleChange; private handleBlur; render(): JSX.Element; } export default Textarea;