import { lineBreakMultipleBlocksAction } from '../../actions/line-break-multiple-block-action';
import type { RTETextBlock } from '../../blocks/text-block';
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
/**
 * Insert a line break node into multiple blocks selection at special position strategy.
 */
export declare class BlockInsertLineBreakWithBlocksStrategy extends ActionHandleStrategy<lineBreakMultipleBlocksAction, RTETextBlock> {
  /**
   * @inheritDoc
   */
  protected handleAction(action: lineBreakMultipleBlocksAction, target: RTETextBlock): void;
  /**
   * lineBreakMultipleBlocks
   *
   * @param {RTEBlock[]} selectedBlocks -
   * @param {RTETextBlock} target -
   * @returns {Nullable<RTETextNode>} Nullable<RTETextNode>
   */
  private lineBreakMultipleBlocks;
  /**
   * Concat the child nodes of multiple RTEBlocks if both are not images.
   *
   * @param {RTEBlock[]} blocks - multiple block of content in a rich text editor, such as a paragraph, heading, image, etc.
   * @returns {RTENode[]} Array of connected block nodes
   */
  private concatBlocksNodes;
  /**
   * mergeLineBreakNodes
   *
   * @param {RTENode[]} beforeNodes -
   * @param {RTETextNode} lineBreakNode -
   * @param {RTENode[]} afterNodes -
   * @param {RTETextBlock} target -
   */
  private mergeLineBreakNodes;
}
