import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaRichTextEditor } from '../../vega-rich-text-editor';
import { VegaRTEContent } from '../../dto/content-state';
/**
 * The value controller is responsible for updating the value of the rich text editor.
 */
export declare class ValueController extends VegaSlimmer {
  static readonly VALUE_CHANGE_DEBOUNCE_TIME: number;
  host: VegaRichTextEditor['host'];
  value: VegaRichTextEditor['value'];
  changeEventEmitter: VegaRichTextEditor['changeEventEmitter'];
  valueController: VegaRichTextEditor['valueController'];
  historyController: VegaRichTextEditor['historyController'];
  selectionController: VegaRichTextEditor['selectionController'];
  sourceEditConfig: VegaRichTextEditor['sourceEditConfig'];
  private flushChangeObserver;
  /**
   * Component lifecycle - [connectedCallback]{@link VegaRichTextEditor.connectedCallback}
   */
  connectedCallback(): void;
  /**
   * Component lifecycle - [connectedCallback]{@link VegaRichTextEditor.disconnectedCallback}
   */
  disconnectedCallback(): void;
  /**
   * Component lifecycle - [componentWillLoad]{@link VegaRichTextEditor.componentWillLoad}
   */
  componentWillLoad(): void;
  /**
   * Watches the value of the editor and updates the internal value.
   */
  watchValueUpdate(): void;
  /**
   * Updates the value of the editor and restore the selection.
   *
   * @param {VegaRTEContent} newValue The new value to set.
   * @param {boolean} recordHistory - Whether to record the change in history.
   */
  flushChanges(newValue: VegaRTEContent, recordHistory?: boolean): Promise<void>;
  /**
   * Determines whether the observer should accept changes.
   *
   * @returns {boolean} Always returns true in the current implementation.
   */
  private isAcceptableFlushChange;
  /**
   * Register the host element and the current content.
   */
  private registerEditorRefAndContent;
}
