import * as React from 'react'; import { Subject } from 'rxjs'; import { t } from '../../common'; import { CssValue } from '@platform/css'; export declare const DEFAULT_TEXT_STYLE: t.TextInputStyle; export declare type IInputValue = { value?: string; maxLength?: number; mask?: t.TextInputMaskHandler; }; export declare type IHtmlInputProps = t.TextInputFocusAction & t.ITextInputEvents & IInputValue & { events$: Subject; className?: string; isEnabled?: boolean; isPassword?: boolean; disabledOpacity?: number; style?: CssValue; valueStyle?: t.TextInputStyle; selectionBackground?: number | string; spellCheck?: boolean; autoCapitalize?: boolean; autoCorrect?: boolean; autoComplete?: boolean; onDblClick?: React.MouseEventHandler; }; export declare type IHtmlInputState = { value?: string; }; export declare class HtmlInput extends React.PureComponent { state: IHtmlInputState; private unmounted$; private state$; private input; private inputRef; private readonly modifierKeys; componentDidMount(): void; componentDidUpdate(prev: IHtmlInputProps): void; componentWillUnmount(): void; get isFocused(): boolean; focus(): this; blur(): this; selectAll(): this; cursorToStart(): this; cursorToEnd(): this; private updateValue; render(): JSX.Element; private handleKeydown; private handleKeyup; private fireKeyboard; private fire; private toKeyboardEvent; private handleKeyPress; private handleChange; private handleFocus; private handleBlur; } export declare const getChangedCharacter: (from: string, to: string) => string; export declare const formatValue: (args: { value?: string | undefined; maxLength?: number | undefined; }) => string;