import { VNode } from '../../../../../stencil-public-runtime';
import { RTERenderContext } from '../../../interface';
import { RTETextBlock } from '../../blocks/text-block';
import { RTETextNode } from '../../nodes/text-node';
import { RTEBlockRenderer } from './block-renderer.abstract';
/**
 * Abstract class for rendering blocks that contain text nodes with support for rendering text with link styles.
 */
export declare abstract class RTEBlockTextNodesRenderer extends RTEBlockRenderer {
  /**
   * Renders the text nodes of the block(RTETextBlock, RTEListItemBlock), applying link group annotation rendering if present.
   *
   * @param {RTETextBlock} block - The text block containing nodes to render.
   * @param {RTERenderContext} renderContext - The context for rendering.
   * @returns {(HTMLElement | VNode)[]} An array of rendered HTMLElements.
   */
  protected renderNodes(block: RTETextBlock, renderContext: RTERenderContext): (HTMLElement | VNode)[];
  /**
   * Recursively groups `nodes` by their inline HTML wrapper `groupId` at the given
   * `depth`, emitting a single shared wrapper element for adjacent siblings and
   * descending into the next depth for each group.  Nodes without a `groupId` at
   * the current depth are rendered individually (same as the non-grouped path).
   *
   * @param {RTETextNode[]} nodes - The nodes to render.
   * @param {number} depth - Current depth in the inline HTML chain (0 = outermost).
   * @param {RTERenderContext} renderContext - The render context.
   * @returns {(HTMLElement | VNode)[]} Rendered nodes/elements at this depth.
   */
  protected renderGroupedNodesAtDepth(nodes: RTETextNode[], depth: number, renderContext: RTERenderContext): (HTMLElement | VNode)[];
  /**
   * Renders a single node starting from the given inline HTML depth.
   * At depth 0 the full annotation chain is rendered normally.
   * At depth > 0 the chain begins at that depth (the outer wrappers have
   * already been emitted by the grouping logic above).
   *
   * @param {RTETextNode} node - The node to render.
   * @param {number} depth - Depth in the inline HTML chain to start from.
   * @param {RTERenderContext} renderContext - The render context.
   * @returns {HTMLElement | VNode} The rendered node.
   */
  private renderNodeFromDepth;
}
