import { CodeNodeType } from '../../types';
import { CodeHighlightParser } from './code-highlight-parser.abstract';
/**
 * Use the local syntax highlight tokenizer to highlight the code content.
 */
export declare class PrismCodeHighlightParseController extends CodeHighlightParser {
  /**
   * Return true when the content and language are defined.
   *
   * @returns {boolean} - Boolean value.
   */
  canParse(): boolean;
  /**
   * Use tokenizer to parse the string code into an array of nodes with different keywords.
   *
   * @returns {CodeNodeType[]} - The object contains content and highlight type.
   */
  parse(): CodeNodeType[];
  /**
   * Parse the plugin parse result to a usable array.
   *
   * @param {(string | CodeHighlightToken)[]} tokens - The plugin parse result.
   * @param {string} [type] - The keywords. Such as variable, function-name, attr-name...
   * @returns {CodeNodeType[]} - The code node array.
   */
  private getHighlightNodes;
  /**
   * Create a CodeNodeType type object by the code content and highlight type.
   *
   * @param {string} text - The code content.
   * @param {string} highlightType - The highlight type.
   * @returns {CodeNodeType} - The code node object.
   */
  private createCodeNode;
}
