import * as React from "react";
import { TextBox } from "../../boxes/TextBox";
import { PiEditor } from "../../PiEditor";
export declare type TextComponentProps = {
    box: TextBox;
    editor: PiEditor;
};
export declare class TextComponent extends React.Component<TextComponentProps, {}> {
    originalValue: string;
    isEditing: boolean;
    private caretPosition;
    private element;
    private setElement;
    constructor(props: TextComponentProps);
    componentWillReceiveProps(nextProps: TextComponentProps): void;
    componentDidMount(): void;
    componentDidUpdate(): void;
    protected checkSelected(): void;
    render(): JSX.Element;
    private onFocus;
    private onClick;
    private onBlur;
    private onPaste;
    private onInput;
    private onKeyDown;
    private onKeyPress;
    newText(text: string, index: number, char: string): string;
    private setFocus;
    private subscribeToBoxEvents;
    private setCaret;
    private setCaretToMostLeft;
    private setCaretToMostRight;
    private shouldPropagate;
    private shouldIgnore;
    startEditing: () => void;
    stopEditing: (aborted?: boolean) => void;
    private getCaretPosition;
    private setCaretPosition;
    private clearSelection;
}
//# sourceMappingURL=TextComponent.d.ts.map