import { VegaRTETextBlockAnnotations } from '../../../../../interface';
import { AnnotationGeneratorStrategyAbstract } from './annotation-generator-strategy.abstract';
import { HtmlElementToAnnotationGenerateOptions, RTEDtoClassPrototype } from './html-element-to-annotation-generator';
/** Handle text style annotation */
export declare class TextStyleAnnotationHandler extends AnnotationGeneratorStrategyAbstract {
  /**
   * Can be handle.
   *
   * @param {RTEDtoClassPrototype} targetDto - Target DTO.
   * @param {HtmlElementToAnnotationGenerateOptions} options - Options for annotation generator.
   * @returns {boolean} - .
   */
  canHandle<T extends RTEDtoClassPrototype>(targetDto: T, options: HtmlElementToAnnotationGenerateOptions): boolean;
  /**
   * Handle annotation.
   *
   * @param {HTMLElement} element - Current elements.
   * @returns {VegaRTETextBlockAnnotations} - Annotation.
   */
  handle(element: HTMLElement): VegaRTETextBlockAnnotations;
  /**
   * Get the node type of element. The element type is determined in the following
   * order: "data-type" attribute, node name, font size and class name.
   *
   * @param {HTMLElement} element - element.
   * @returns {Nullable<VegaRTETextStyleType>} - node type.
   */
  private getTextStyle;
  /**
   * Get the element type by data-type attribute.
   *
   * @param {HTMLElement} element - element.
   * @returns {Nullable<VegaRTETextStyleType>} - element type or null if not found.
   */
  private getElementTypeByDataType;
  /**
   * Get the element type by font size.
   *
   * @param {HTMLElement} element - element.
   * @returns {Nullable<VegaRTETextStyleType>} - element type or null if not found.
   */
  private getElementTypeByFontSize;
  /**
   * Get the element type by node name.
   *
   * @param {HTMLElement} element - element.
   * @returns {Nullable<VegaRTETextStyleType>} - element type or null if not found.
   */
  private getElementTypeByNodeName;
  /**
   * Get the element type by class name.
   *
   * @param {HTMLElement} element - element.
   * @returns {Nullable<VegaRTETextStyleType>} - element type or null if not found.
   */
  private getElementTypeByClassName;
}
