import { BlockAnnotation, BlockAnnotationTypeEnum } from './block-annotation.abstract';
/**
 * Internal wrapper annotation for block node.
 */
export class InternalWrapperAnnotation extends BlockAnnotation {
  constructor(internalWrapper) {
    super();
    this.type = BlockAnnotationTypeEnum.INTERNAL_WRAPPER;
    this.internalWrapper = internalWrapper;
  }
  /**
   * @inheritDoc
   */
  static from(internalWrapper) {
    return [BlockAnnotationTypeEnum.INTERNAL_WRAPPER, new InternalWrapperAnnotation(internalWrapper)];
  }
  /**
   * @inheritDoc
   */
  clone() {
    return new InternalWrapperAnnotation(this.internalWrapper);
  }
  /**
   * @inheritDoc
   */
  renderClass() {
    return undefined;
  }
  /**
   * @inheritDoc
   */
  renderStyle() {
    return undefined;
  }
  /**
   * @inheritDoc
   */
  toJSON() {
    return this.internalWrapper ? { internalWrapper: this.internalWrapper } : undefined;
  }
}
