import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaRichTextEditor } from '../../vega-rich-text-editor';
/**
 * Focus controller for RTE
 */
export declare class FocusController extends VegaSlimmer {
  protected readonly vegaRichTextEditorRenderer: VegaRichTextEditor['vegaRichTextEditorRenderer'];
  protected readonly selectionController: VegaRichTextEditor['selectionController'];
  protected readonly valueController: VegaRichTextEditor['valueController'];
  protected readonly value: VegaRichTextEditor['value'];
  /**
   * Focus on the last text node of the last block.
   *
   * @param {{ newLine?: boolean }} options - The options of the method
   * @param {boolean} options.newLine - Should a new line be added before the last text node
   * @returns {Promise<void>} - A promise that resolves when the focus is set
   */
  focusOnLastTextNode(options?: {
    newLine?: boolean;
  }): Promise<void>;
  /**
   * Do a focus on the last text node of the last block
   *
   * @param {RTEContentBlock} lastBlock - The last block of the content
   */
  private doFocusOnLastTextNode;
  /**
   * Move the caret to the end of the node
   *
   * @param {Node} targetNode - The node to move the caret to
   * @param {number} offset - The offset to move the caret to
   */
  private setCaretRangeToNodeEnd;
}
