import { Nullable } from '../../../../../types/general';
import { RTEBlock } from '../../../dto/blocks/block.abstract';
import { VegaRTECustomNode, VegaRTETransformOptions } from '../../../interface';
import { ElementToDTOStrategy } from '../../../slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
import { RTETableBlock } from '../dto/table-block';
/**
 * Strategy to convert a native HTML table element into an RTETableBlock DTO.
 */
export declare class TableToTableBlockStrategy extends ElementToDTOStrategy {
  /**
   * @inheritDoc
   */
  canHandle(elementsArray: HTMLElement[], currentIndex: number): number;
  /**
   * @inheritDoc
   */
  handle(elementsArray: HTMLElement[], options?: VegaRTETransformOptions): Nullable<RTEBlock | VegaRTECustomNode>;
  /**
   * @inheritDoc
   */
  appendChildBlocks(currentBlock: RTETableBlock, childBlocks: RTEBlock[]): void;
  /**
   * @inheritDoc
   */
  shouldProceedToElementChildren(): boolean;
}
