import { CssValue } from '@platform/css'; import * as React from 'react'; import { Subject } from 'rxjs'; import { t } from '../../common'; import { IInputValue } from './TextInput.Html'; export declare const toInitialWidth: (props: TextInputProps) => string | number | undefined; export declare type TextInputProps = t.TextInputFocusAction & t.ITextInputEvents & IInputValue & { events$?: Subject; isEnabled?: boolean; isPassword?: boolean; isReadOnly?: boolean; disabledOpacity?: number; width?: number | string; minWidth?: number; maxWidth?: number; autoSize?: boolean; placeholder?: string | React.ReactElement; valueStyle?: t.TextInputStyle; placeholderStyle?: t.TextInputStyle; spellCheck?: boolean; autoCapitalize?: boolean; autoCorrect?: boolean; autoComplete?: boolean; selectionBackground?: number | string; className?: string; style?: CssValue; onClick?: React.MouseEventHandler; onDoubleClick?: React.MouseEventHandler; onMouseDown?: React.MouseEventHandler; onMouseUp?: React.MouseEventHandler; onMouseEnter?: React.MouseEventHandler; onMouseLeave?: React.MouseEventHandler; }; export declare type TextInputState = { width?: number | string; }; export declare class TextInput extends React.PureComponent { static DefaultTextStyle: t.TextInputStyle; static toTextCss: (props: t.TextStyle) => { color: string | undefined; fontFamily: any; fontSize: any; fontWeight: any; fontStyle: string | undefined; textAlign: any; opacity: any; letterSpacing: any; lineHeight: any; textShadow: string | undefined; textTransform: import("csstype").Property.TextTransform | undefined; }; static measure: (props: TextInputProps) => { width: number; height: number; }; state: TextInputState; private unmounted$; private state$; private events$; private input; private inputRef; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; get isUnmounted(): boolean; get size(): { width: number; height: number; }; get isFocused(): boolean; get hasValue(): boolean; focus(isFocused?: boolean): this; blur(): this; selectAll(): this; cursorToStart(): this; cursorToEnd(): this; private updateAutoSize; render(): JSX.Element; private fire; private handleChange; private labelDblClickHandler; private handleInputDblClick; } export declare const toWidth: (props: TextInputProps) => string | number | undefined; export declare const toMinWidth: (props: TextInputProps) => number; export declare const placeholderStyle: (props: TextInputProps) => { color: string | undefined; fontFamily: any; fontSize: any; fontWeight: any; fontStyle: string | undefined; textAlign: any; opacity: any; letterSpacing: any; lineHeight: any; textShadow: string | undefined; textTransform: import("csstype").Property.TextTransform | undefined; };