import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
import { VegaRichTextEditor } from '../../vega-rich-text-editor';
import { Nullable } from '../../../../types/general';
/**
 * The renderer for the source view of the rich text editor. It renders a code block for editing the source code of the rich text editor content.
 */
export declare class VegaRichTextEditorSourceViewRenderer extends VegaSlimmer {
  host: VegaRichTextEditor['host'];
  allowSourceEdit: VegaRichTextEditor['allowSourceEdit'];
  sourceView: VegaRichTextEditor['sourceView'];
  value: VegaRichTextEditor['value'];
  disabled: VegaRichTextEditor['disabled'];
  sourceEditConfig: VegaRichTextEditor['sourceEditConfig'];
  sourceCodeChangeEventEmitter: VegaRichTextEditor['sourceCodeChangeEventEmitter'];
  private sourceCodeBlockRef;
  private prevRecord;
  /**
   * Clean up the code block blur observer when the component is disconnected to prevent memory leaks.
   */
  clearCodeBlockBlurObserver(): void;
  /**
   * Get the source code from the source view's code block.
   *
   * @returns {Nullable<string>} The source code, or null if the code block reference is not set.
   */
  getSourceCode(): Nullable<string>;
  /**
   * Render the source view, which is a code block for editing the source code of the rich text editor content.
   *
   * @returns {Nullable<HTMLElement>} The rendered source view element, or null if source editing is not allowed.
   */
  render(): Nullable<HTMLElement>;
  /**
   * Handle the blur event of the code block. When the code block loses focus, emit the source code change event with the current source code.
   */
  private handleCodeBlockBlur;
  /**
   * Get the source view template string based on the current value of the rich text editor.
   *
   * @returns {string} The HTML template string
   */
  private getSourceTemplate;
}
