import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaCodeBlock } from '../../vega-code-block';
/**
 * The class used to control the code block insert composition text action.
 */
export declare class InsertCompositionTextController extends VegaSlimmer {
  /**
   * The class used to control the code block modify content action.
   */
  protected selectionController: VegaCodeBlock['selectionController'];
  protected contentRenderer: VegaCodeBlock['contentRenderer'];
  protected valueController: VegaCodeBlock['valueController'];
  protected contentParseController: VegaCodeBlock['contentParseController'];
  protected value: VegaCodeBlock['value'];
  private insertCompositionTextEndFlag;
  /**
   * The method is to get the composition text insert end or not.
   *
   * @returns {boolean} The false is mean that insert composition text process is end.
   */
  isComposing(): boolean;
  /**
   * Stop `beforeinput` and `input` event bubbles to parent element.
   */
  registerInputEvent(): void;
  /**
   * Remove the event listener.
   */
  unregisterEventListener(): void;
  /**
   * Stop the event bubbles.
   *
   * @param {Event} e - The event object.
   */
  private stopEventPropagation;
  /**
   * An event handler function that is triggered when the composition of text input starts. In this case,
   *  it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `false`.
   *
   * @param {CompositionEvent} e The composition event instance
   */
  private handleCompositionStart;
  /**
   * An event handler function that is triggered when the composition of text input ends. In this case,
   *  it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `true`.
   *
   * @param {CompositionEvent} e The composition event instance
   */
  private handleCompositionEnd;
}
