import { Nullable } from '../../../../../types/general';
import { RTEBlock } from '../../../dto/blocks/block.abstract';
import { RTETableCaptionBlock } from '../dto/table-caption-block';
import { ElementToDTOStrategy } from '../../../slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
import { VegaRTETransformOptions } from '../../../interface';
/**
 * Strategy to convert a native HTML table caption container element into an RTETableCaptionBlock DTO.
 *
 * This expects to be applied to the rendered caption container that wraps the actual caption content
 * (for example, the `div.v-rte--extension-table-caption` element that Stencil renders for table captions).
 */
export declare class CaptionToCaptionBlockStrategy extends ElementToDTOStrategy {
  /**
   * @inheritDoc
   */
  canHandle(elementsArray: HTMLElement[], currentIndex: number): number;
  /**
   * @inheritDoc
   */
  handle(elementsArray: HTMLElement[], options?: VegaRTETransformOptions): Nullable<RTEBlock>;
  /**
   * @inheritDoc
   */
  appendChildBlocks(currentBlock: RTETableCaptionBlock, childBlocks: RTEBlock[]): void;
  /**
   * @inheritDoc
   */
  shouldProceedToElementChildren(): boolean;
  /**
   * Generates annotations for a table caption element.
   *
   * @param {HTMLElement} element The HTML element representing the table head.
   * @param {VegaRTETransformOptions} options Optional transformation options.
   * @returns {VegaRTETableCaptionBlock['annotations']} The annotations for the table head element.
   */
  private getTableCaptionAnnotations;
}
