import { Nullable } from '../../../types/general';
import { RTEExtensionContext } from '../interface';
/**
 * Manager for storing and retrieving the extension context associated with each rich text editor host element.
 *
 * @todo Currently, there are three types of contexts in RTE: toolbar render context, extension context, and DTO render context. The second and third types are bound to the extension context via host props. We are considering optimizing these three types of contexts to make the program more flexible and easier to maintain.
 */
declare class RTEExtensionContextManager {
  private extensionContextMap;
  /**
   * Store the extension context for the given rich text editor host element.
   *
   * @param {RTEExtensionContext} context - The extension context to store.
   */
  setExtensionContext(context: RTEExtensionContext): void;
  /**
   * Get the extension context for the given rich text editor host element.
   *
   * @typedef HTMLVegaRichTextEditorElement - The type definition for the rich text editor host element.
   * @param {Nullable<HTMLVegaRichTextEditorElement>} el - The host rich text editor element.
   * @returns {Nullable<RTEExtensionContext>} - The extension context associated with the host.
   */
  getExtensionContext(el: Nullable<HTMLVegaRichTextEditorElement>): Nullable<RTEExtensionContext>;
}
declare const _default: RTEExtensionContextManager;
export default _default;
