import { ExtendedHTMLElement } from '../../../helper/dom'; import { QuickActionCommand } from '../../../static'; export interface PromptTextInputProps { tabId: string; initMaxLength: number; children?: ExtendedHTMLElement[]; onKeydown: (e: KeyboardEvent) => void; onInput?: (e: KeyboardEvent) => void; onFocus?: () => void; onBlur?: () => void; } export declare class PromptTextInput { render: ExtendedHTMLElement; promptTextInputMaxLength: number; private lastCursorIndex; private readonly props; private readonly promptTextInput; private promptInputOverlay; private keydownSupport; private readonly selectedContext; private contextTooltip; private contextTooltipTimeout; private mutationObserver; private hasImageCommand; constructor(props: PromptTextInputProps); private readonly setupContextRemovalObserver; private readonly handleContextRemoval; readonly restoreRange: (range: Range) => void; private readonly updateCursorPos; private readonly updateSelectionAndCursor; private readonly insertSpaceNodeAndUpdateCursor; private readonly checkIsEmpty; private readonly removeContextPlaceholderOverlay; private readonly insertElementToGivenPosition; private readonly moveCursorToEnd; private readonly showContextTooltip; private readonly hideContextTooltip; readonly insertContextItem: (contextItem: QuickActionCommand, position: number, topBarHidden?: boolean) => void; readonly getCursorPos: () => number; readonly clear: () => void; readonly focus: () => void; readonly blur: () => void; readonly getTextInputValue: (withInputLineBreaks?: boolean) => string; readonly updateTextInputValue: (value: string) => void; readonly insertEndSpace: () => void; readonly updateTextInputMaxLength: (maxLength: number) => void; readonly updateTextInputPlaceholder: (text: string) => void; readonly deleteTextRange: (position: number, endPosition: number) => void; /** * Returns the cursorLine, totalLines and if the cursor is at the beginning or end of the whole text * @returns {cursorLine: number, totalLines: number, isAtTheBeginning: boolean, isAtTheEnd: boolean} */ readonly getCursorPosition: () => { cursorLine: number; totalLines: number; isAtTheBeginning: boolean; isAtTheEnd: boolean; }; readonly getUsedContext: () => QuickActionCommand[]; readonly destroy: () => void; }