import { VegaCodeBlock } from '../../vega-code-block';
import { CodeInputPaste } from './code-input-paste.abstract';
/**
 * Controller for handling paste events in VegaCodeBlock.
 * Handles insertion, selection, and content update logic for pasted code.
 */
export declare class CodeBlockPasteController extends CodeInputPaste {
  protected host: VegaCodeBlock['host'];
  protected valueController: VegaCodeBlock['valueController'];
  protected contentRenderer: VegaCodeBlock['contentRenderer'];
  protected value: VegaCodeBlock['value'];
  protected selectionController: VegaCodeBlock['selectionController'];
  protected contentParseController: VegaCodeBlock['contentParseController'];
  protected inputController: VegaCodeBlock['inputController'];
  /**
   *  Register paste event listener on component load.
   */
  registerInputEvent(): void;
  /**
   * Remove the event listener.
   */
  unregisterEventListener(): void;
  /**
   * Handle the paste event.
   *
   * @param {ClipboardEvent} e - The clipboard event object.
   * @returns {void}
   */
  handlePasteEvent: (e: ClipboardEvent) => void;
  /**
   * Update the code block range based on pasted data.
   *
   * @param {string} pastedContent - The content that has been pasted.
   * @returns {void}
   */
  private updateCodeBlockRangeAndContent;
  /**
   * Get the latest range and content after paste operation.
   *
   * @param {string} pastedContent - The content that has been pasted.
   * @returns {NextOffsetAndContentResult}} The next offset and updated content.
   */
  private getLatestRangeAndContent;
}
