import { Annotation } from './annotation.abstract';
import { Nullable } from '../../../../types/general';
export declare enum CommonAnnotationTypeEnum {
  CUSTOM_ATTRIBUTE = "CUSTOM_ATTRIBUTE",
  CUSTOM_CLASS = "CUSTOM_CLASS",
  CUSTOM_STYLE = "CUSTOM_STYLE"
}
/**
 * CommonAnnotation is an abstract class that represents common annotation for block and node.
 */
export declare abstract class CommonAnnotation extends Annotation {
  abstract readonly type: CommonAnnotationTypeEnum;
  /**
   * Generate the JSON item of the annotation
   *
   * @returns {Nullable<Record<string, unknown>>} JSON item of the annotation
   */
  abstract toJSON(): Nullable<Record<string, unknown>>;
  abstract clone(): CommonAnnotation;
}
