import Phaser from 'phaser';
import { TextBoxConfig } from '../types';
import { BaseScene } from "../game";
import { Label } from './Label';
import { TextBox } from './TextBox';
export declare class TextArea extends TextBox<TextBoxConfig> {
    protected _config: TextBoxConfig;
    label: Label;
    selection: Phaser.GameObjects.Rectangle;
    cursor: Phaser.GameObjects.Text;
    timerEvent?: Phaser.Time.TimerEvent;
    hiddenTextArea?: HTMLTextAreaElement;
    selectionStart?: number;
    selectionEnd?: number;
    isFocus: boolean;
    charWidths: number[];
    isSelecting: boolean;
    maxWidth: number;
    maxHeight: number;
    lineHeight: number;
    constructor(scene: BaseScene, config: TextBoxConfig);
    createMultilineLabel(): void;
    handleKeyDown(event: KeyboardEvent): void;
    createHiddenTextArea(): void;
    updateTextFromTextArea(): void;
    getCursorPosition(): number;
    setCursorPosition(position: number): void;
    updateCursorPosition(): void;
    getCharacterXPosition(index: number, line?: string): number;
    insertTextAtCursor(text: string): void;
    handlePointerDown(pointer: Phaser.Input.Pointer): void;
    destroy(fromScene?: boolean): void;
}
//# sourceMappingURL=TextArea.d.ts.map