import type * as React from 'react'; import type { Properties } from 'csstype'; import type { Override } from '../helpers/overrides'; import type { BaseInputProps, StateReducer, State, ADJOINED, SIZE } from '../input'; declare type SyntheticTextareaEvent = React.SyntheticEvent; export declare type Size = keyof typeof SIZE; export declare type SharedStyleProps = { $adjoined: keyof typeof ADJOINED; $disabled?: boolean; $error?: boolean; $isFocused?: boolean; $isReadOnly?: boolean; $positive?: boolean; $required?: boolean; $resize?: Properties['resize']; $size: Size; }; declare type BaseTextAreaProps = BaseInputProps; export declare type TextareaOverrides = { Root?: Override; } & BaseTextAreaProps['overrides']; export declare type TextareaProps = { overrides?: TextareaOverrides; resize?: Properties['resize']; /** Sets the size and number of visible text lines of the textarea element. */ rows?: number; maxLength?: number; } & BaseTextAreaProps; export declare type StatefulContainerProps = { children: (props: any) => React.ReactNode; initialState?: State; stateReducer?: StateReducer; onChange?: (e: SyntheticTextareaEvent) => unknown; onKeyDown?: (e: SyntheticTextareaEvent) => unknown; onKeyPress?: (e: SyntheticTextareaEvent) => unknown; onKeyUp?: (e: SyntheticTextareaEvent) => unknown; }; declare type OmitProps = { children: (props: any) => React.ReactNode; }; declare type FullStProps = TextareaProps & StatefulContainerProps; export declare type StatefulTextareaProps = Partial>; export {};