import { BlockAnnotation, BlockAnnotationTypeEnum } from './block-annotation.abstract';
import { AnnotationStyle, RTERenderContext, VegaRTETextStyleType } from '../../interface';
import { Nullable } from '../../../../types/general';
export declare type RTETextStyleBaseType = {
  fontFamily: string;
  fontWeight: string;
  fontSize: string;
  lineHeight: string;
  minHeight: string;
};
/**
 * Text style annotation
 */
export declare class TextStyleAnnotation extends BlockAnnotation {
  readonly type: BlockAnnotationTypeEnum;
  textStyle: Nullable<VegaRTETextStyleType>;
  constructor(textStyle: Nullable<VegaRTETextStyleType>);
  /**
   * Generate the map item for the annotations
   *
   * @param {VegaRTETextStyleType} textStyle - the text style type
   * @returns {[BlockAnnotationTypeEnum.TEXT_STYLE, TextStyleAnnotation]} Map item for the annotation
   */
  static from(textStyle: VegaRTETextStyleType): [BlockAnnotationTypeEnum.TEXT_STYLE, TextStyleAnnotation];
  /**
   * Get the default styles for a given text style type.
   *
   * @param {VegaRTETextStyleType} textStyle - The text style type.
   * @returns {Nullable<AnnotationStyle>} The default styles for the given text style type.
   */
  static getDefaultStyles(textStyle: Nullable<VegaRTETextStyleType>): Nullable<AnnotationStyle>;
  /**
   * Generate the JSON representation of the annotation
   *
   * @returns {Nullable<Record<string, unknown>>} JSON representation of the annotation
   */
  toJSON(): Nullable<Record<string, unknown>>;
  /**
   * @inheritDoc
   */
  clone(): TextStyleAnnotation;
  /**
   * @inheritDoc
   */
  renderClass(options?: RTERenderContext): Nullable<string>;
  /**
   * @inheritDoc
   */
  renderStyle(options?: RTERenderContext): Nullable<AnnotationStyle>;
}
