import { NodeAnnotation, NodeAnnotationTypeEnum } from './node-annotation.abstract';
import { AnnotationStyle, RTERenderContext } from '../../interface';
import { Nullable } from '../../../../types/general';
/**
 * Annotation to make text code
 */
export declare class CodeAnnotation extends NodeAnnotation {
  readonly type: NodeAnnotationTypeEnum;
  code: boolean;
  useInternalStyle: boolean;
  constructor(code: boolean, useInternalStyle?: boolean);
  /**
   * Generate the map item for the annotation
   *
   * @param {boolean} code - Bold annotation
   * @param {boolean} useInternalStyle - Whether to use default style for the link
   * @returns {[NodeAnnotationTypeEnum.CODE, CodeAnnotation]} Map item for the annotation
   */
  static from(code: boolean, useInternalStyle?: boolean): [NodeAnnotationTypeEnum.CODE, CodeAnnotation];
  /**
   * Get the default standalone styles for an inline code annotation.
   *
   * @returns {AnnotationStyle} The default styles.
   */
  static getDefaultStyles(): AnnotationStyle;
  /**
   * Generate the JSON representation of the annotation
   *
   * @returns {Record<string, unknown>} JSON representation of the annotation
   */
  toJSON(): Record<string, unknown>;
  /**
   * @inheritDoc
   */
  clone(): CodeAnnotation;
  /**
   * @inheritDoc
   */
  renderClass(options?: RTERenderContext): Nullable<string>;
  /**
   * @inheritDoc
   */
  renderStyle(options?: RTERenderContext): Nullable<AnnotationStyle>;
}
