import { type Window } from './windows.js';
export declare class TextInput {
    el: JQuery<HTMLElement>;
    history_index: number;
    is_line: boolean;
    /** Whether this input has been refocused since it was last reset */
    refocused: boolean;
    window: Window;
    constructor(win: Window);
    destroy(): void;
    private onblur;
    private onfocus;
    /** The keydown and keypress inputs are unreliable in mobile browsers with virtual keyboards. This handler can handle character input for printable characters, but not function/arrow keys */
    private oninput;
    private onkeydown;
    private onkeypress;
    /** Refocus the input, if it wouldn't obscure part of the update */
    refocus(): void;
    reset(): void;
    private set_gameport_height;
    private submit_char;
    private submit_line;
    update(): void;
}
