import { InsertChildrenAfterAction } from '../../actions/insert-children-after-block';
import { InsertChildrenBeforeAction } from '../../actions/insert-children-before-block';
import type { RTEBlock } from '../../blocks/block.abstract';
import type { VegaRTEContent } from '../../content-state';
import type { RTENode } from '../../nodes/node.abstract';
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
/**
 * Insert children at the front of the block strategy.
 */
export declare class InsertChildrenBeforeStrategy extends ActionHandleStrategy<InsertChildrenBeforeAction | InsertChildrenAfterAction, RTEBlock | VegaRTEContent> {
  /**
   * @inheritDoc
   */
  protected handleAction(action: InsertChildrenBeforeAction, target: RTEBlock | VegaRTEContent): void;
  /**
   * Replaces a specific block or node with an array of blocks or nodes within RTEContentBlock array.
   *
   * @param {RTEBlock | VegaRTEContent} target - The block or the VegaRTEContent instance.
   * @param {RTEBlock | RTENode} referElement - Used as a reference element to identify the element that needs to be replaced in the array.
   * @param {RTEBlock[] | RTENode[]} elements - An array of block or node objects that you want to replace the `referElement` with in the array.
   */
  protected replaceElementWithElements(target: RTEBlock | VegaRTEContent, referElement: RTEBlock | RTENode, elements: RTEBlock[] | RTENode[]): void;
}
