import { RTEBlock } from '../../components/vega-rich-text-editor/dto/blocks/block.abstract';
import { RTENode } from '../../components/vega-rich-text-editor/dto/nodes/node.abstract';
import { VegaRTEBaseRenderer } from '../../components/vega-rich-text-editor/dto/renderers/base-renderer';
import { VegaRTEToolbarButtonRenderer } from '../../components/vega-rich-text-editor/extensions/base-toolbar-button-renderer';
import { VegaRTERenderResult } from '../../components/vega-rich-text-editor/interface';
import { Nullable } from '../../types/general';
export declare type BaseRenderer = VegaRTEBaseRenderer<RTEBlock | RTENode, VegaRTERenderResult | HTMLElement>;
/**
 * RTEDTORendererManager is a singleton class that manages the registration and retrieval of RTE DTO renderers.
 */
declare class RTEDTORendererManager {
  private RTE_DTO_RENDERER_MAP;
  private RTE_TOOLBAR_BUTTON_RENDERER_MAP;
  /**
   * Registers a new RTE DTO renderer.
   *
   * @param {string} type - The type identifier for the RTE DTO renderer.
   * @param {VegaRTEBaseRenderer} RTEDTORenderer - The renderer instance for the RTE DTO.
   */
  registerRTEDTORenderer(type: string, RTEDTORenderer: BaseRenderer): void;
  /**
   * Registers a new RTE Toolbar Button Renderer.
   *
   * @param {string} type - The type identifier for the RTE Toolbar Button Renderer.
   * @param {VegaRTEToolbarButtonRenderer} RTEToolbarButtonRenderer - The renderer instance for the RTE Toolbar Button.
   */
  registerRTEToolbarButtonRenderer(type: string, RTEToolbarButtonRenderer: VegaRTEToolbarButtonRenderer): void;
  /**
   * Retrieves the RTE renderer for a given type.
   *
   * @param {string} type - The type identifier for the RTE block.
   * @returns {Nullable<BaseRenderer>} - The renderer instance for the RTE block, or null if not found.
   */
  getRTERenderer(type: string): Nullable<BaseRenderer>;
  /**
   * Retrieves the RTE Toolbar Button Renderer for a given type.
   *
   * @param {string} type - The type identifier for the RTE Toolbar Button Renderer.
   * @returns {Nullable<VegaRTEToolbarButtonRenderer>} - The renderer instance for the RTE Toolbar Button, or null if not found.
   */
  getRTEToolbarButtonRenderer(type: string): Nullable<VegaRTEToolbarButtonRenderer>;
}
declare const _default: RTEDTORendererManager;
export default _default;
