import { RTERenderContext } from '../../../interface';
import { RTEBlockRenderer } from './block-renderer.abstract';
import { RTECodeBlock } from '../../blocks/code-block';
/**
 * The code block renderer.
 */
declare class RTECodeBlockRenderer extends RTEBlockRenderer {
  /**
   * Render the code block.
   *
   * @param {RTECodeBlock} block - The code block.
   * @param {RTERenderContext} renderContext - The render context.
   * @returns {HTMLElement} - The code block container element and code node elements.
   */
  render(block: RTECodeBlock, renderContext: RTERenderContext): HTMLElement;
  /**
   * The current element used to define the upper and lower bounds of a code block and to ensure that they are reflected in the range object when the code block is selected.
   *
   * @param {'TOP' | 'BOTTOM'} position - The element position.
   * @returns {HTMLElement} - The empty span element.
   */
  private renderPlaceholderElement;
  /**
   * Prevent the click event bubble, avoid the rich text content trigger focus event.
   *
   * @param {MouseEvent} e - The event object.
   */
  private preventParentDoFocus;
  /**
   * If redo and undo in code block, here need a mock keydown event to make the helper class `KeyboardManager` could monitor the current keydown event.
   *
   * @param {KeyboardEvent} e - The keyboard event object.
   */
  private dispatchMockKeydownEvent;
}
declare const _default: RTECodeBlockRenderer;
export default _default;
