import { NodeAnnotation, NodeAnnotationTypeEnum } from './node-annotation.abstract';
import { AnnotationStyle, VegaRTELink } from '../../interface';
import { Nullable } from '../../../../types/general';
/**
 * Annotation to make text a link
 */
export declare class LinkAnnotation extends NodeAnnotation {
  readonly type: NodeAnnotationTypeEnum;
  link: VegaRTELink;
  useInternalStyle: boolean;
  constructor(link: VegaRTELink, useInternalStyle?: boolean);
  /**
   * Generate the map item for the annotation
   *
   * @param {VegaRTELink} link - Bold annotation
   * @param {boolean} useInternalStyle - Whether to use default style for the link
   * @returns {[NodeAnnotationTypeEnum.LINK, LinkAnnotation]} Map item for the annotation
   */
  static from(link: VegaRTELink, useInternalStyle?: boolean): [NodeAnnotationTypeEnum.LINK, LinkAnnotation];
  /**
   * Generate the JSON representation of the annotation
   *
   * @returns {Record<'link', VegaRTELink>} JSON representation of the annotation
   */
  toJSON(): Record<'link', VegaRTELink>;
  /**
   * @inheritDoc
   */
  clone(): LinkAnnotation;
  /**
   * Verify whether two link annotation is same or not
   *
   * @param {LinkAnnotation} annotation - Compared annotation
   * @returns {boolean} Whether two link annotation is same or not
   */
  toEqual(annotation: LinkAnnotation): boolean;
  /**
   * @inheritDoc
   */
  renderClass(): Nullable<string>;
  /**
   * @inheritDoc
   */
  renderStyle(): Nullable<AnnotationStyle>;
}
