import { RTENodeRenderer } from './node-renderer.abstract';
import { RTERenderContext } from '../../../interface';
import { RTECodeBlockNode } from '../../nodes/code-block-node';
declare class RTECodeBlockNodeRenderer extends RTENodeRenderer {
  render(node: RTECodeBlockNode, renderContext: RTERenderContext): HTMLElement;
  /**
   * Sync the code block DTO language and content when the component change event emit.
   *
   * @param {VegaCodeBlockValue} codeBlockValue - The code block value.
   * @param {RTECodeBlockNode} node - The DTO class instance.
   */
  private handleCodeContentChange;
  /**
   * Remove the code block from RTE value when the component remove event emit.
   *
   * @param {ChangeManagerEventLike<unknown>} input - The internal event payload object.
   * @param {RTECodeBlockNode} node - The DTO class instance.
   */
  private handleCodeBlockRemove;
  /**
   * The cursor should jump out of code block if enter three line breaks at the end.
   *
   * @param {string} oldCode - The old code content.
   * @param {string} newCode - The new code content.
   * @returns {boolean} - Boolean value.
   */
  private shouldSwitchOutOfCodeBlock;
  /**
   * Apply the selection action to code node or remove from the annotation map.
   *
   * @param {boolean} isSelected - The code block is focus or not.
   * @param {RTECodeBlockNode} node - The DTO class instance.
   */
  private handleSelectionChange;
}
declare const _default: RTECodeBlockNodeRenderer;
export default _default;
