import { BlockAnnotation, BlockAnnotationTypeEnum } from './block-annotation.abstract';
import { AnnotationStyle, RTERenderContext, VegaRTEBlockAlignment } from '../../interface';
import { Nullable } from '../../../../types/general';
/**
 * Annotation to make block with horizontal alignment
 */
export declare class HorizontalAlignmentAnnotation extends BlockAnnotation {
  readonly type: BlockAnnotationTypeEnum.ALIGNMENT;
  textAlign: VegaRTEBlockAlignment;
  constructor(textAlign: VegaRTEBlockAlignment);
  /**
   * Generate the map item for the annotation
   *
   * @param {VegaRTEBlockAlignment} textAlign - Text alignment
   * @returns {[BlockAnnotationTypeEnum.ALIGNMENT, HorizontalAlignmentAnnotation]} Map item for the annotation
   */
  static from(textAlign: VegaRTEBlockAlignment): [BlockAnnotationTypeEnum.ALIGNMENT, HorizontalAlignmentAnnotation];
  /**
   * Get the default standalone styles for a given alignment value.
   *
   * @param {VegaRTEBlockAlignment} textAlign - The alignment value.
   * @returns {AnnotationStyle} The default standalone styles.
   */
  static getDefaultStyles(textAlign: VegaRTEBlockAlignment): AnnotationStyle;
  /**
   * Generate the JSON item of the annotation
   *
   * @returns {Record<string, unknown>} JSON representation of the annotation
   */
  toJSON(): Record<string, unknown>;
  /**
   * @inheritDoc
   */
  renderClass(options?: RTERenderContext): Nullable<string>;
  /**
   * @inheritDoc
   */
  clone(): HorizontalAlignmentAnnotation;
  /**
   * @inheritDoc
   */
  renderStyle(options?: RTERenderContext): Nullable<AnnotationStyle>;
}
