import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaCodeBlock } from '../../vega-code-block';
/**
 * The code block content renderer class.
 */
export declare class VegaCodeBlockContentRenderer extends VegaSlimmer {
  protected host: VegaCodeBlock['host'];
  protected readOnly: VegaCodeBlock['readOnly'];
  protected disabled: VegaCodeBlock['disabled'];
  protected value: VegaCodeBlock['value'];
  protected contentParseController: VegaCodeBlock['contentParseController'];
  private codeContentContainerRef;
  /**
   * Get the editable root element.
   *
   * @returns {HTMLElement} - The root element.
   */
  getCodeContentContainerRef(): HTMLElement;
  /**
   * Add focus and blur event listener.
   */
  registerEventListener(): void;
  /**
   * Remove the event listener.
   */
  unregisterEventListener(): void;
  /**
   * Render the code content.
   *
   * @returns {HTMLElement} - The code element.
   */
  render(): HTMLElement;
  /**
   * The code input area focus.
   */
  private handleFocus;
  /**
   * The code input area blur.
   */
  private handleBlur;
  /**
   * Render the code node the html element.
   *
   * @param {CodeNodeType} codeNode - The code node object.
   * @returns {string} - The html element.
   */
  private renderCodeNode;
  /**
   * Dynamic calculate line number element width and update the margin and padding variable.
   *
   * @param {CodeNodeType[]} codeNodes - The code node array.
   * @returns {string} - The style content.
   */
  private getLineNumberStyleVariable;
}
