import { VegaRTEAnnotations } from '../../../../../interface';
import { HtmlElementToAnnotationGenerateOptions, RTEDtoClassPrototype } from './html-element-to-annotation-generator';
/**
 * Abstract class to define handler for generate the annotations
 */
export declare abstract class AnnotationGeneratorStrategyAbstract {
  /**
   * Determines if the handler can process the given DTO.
   *
   * @param {RTEDtoClassPrototype} targetDTO - Target DTO.
   * @param {HtmlElementToAnnotationGenerateOptions} [options] - Options for annotation generator.
   * @returns {boolean} - True if the strategy can handle the DTO, otherwise false.
   */
  abstract canHandle<T extends RTEDtoClassPrototype>(targetDTO: T, options: HtmlElementToAnnotationGenerateOptions): boolean;
  abstract handle(element: HTMLElement, parentAnnotations?: VegaRTEAnnotations): VegaRTEAnnotations;
}
