/** * Colors of the token kinds. Each is written as `var(--jodit-code-, )`, so a site can change it with * a CSS variable on `.jodit-code`. */ export declare const TOKEN_COLORS: Record; /** Inline styles of the parts of a block */ export declare const STYLES: { block: string; header: string; lang: string; body: string; gutter: string; pre: string; code: string; nativeBlock: string; nativePre: string; nativeCode: string; }; export interface RenderOptions { /** Show line numbers */ lineNumbers?: boolean; /** Width of a tab character, in spaces */ tabSize?: number; /** CSS classes added to the block, separated by spaces */ className?: string; /** * Show the header with the language; the copy and download buttons are added to it, so a block without it has * none. Default `true`. */ header?: boolean; /** * Offer the code as a file: the name of the file, or `''` for `Untitled.`. Written to `data-download`; * the download button is added by the runtime and in the editor. */ download?: string | false; /** * The block is saved with its code as plain `` for the highlighter of the site (see * {@link renderNative}); marked with `data-native` */ native?: boolean; } /** Line breaks as `\n`, without the final line break */ export declare function normalizeCode(code: string): string; /** * HTML of a code block: a header with the language, optional line numbers and the highlighted code. * Every part has a `jodit-code__*` class and inline styles, so the block looks right without any CSS on the site; * `` has the `nohighlight` class and no `language-*` class, so highlight.js or Prism on the site skip it, and * `nohljsln`, so the line numbers plugin of highlight.js does too. */ export declare function renderBlock(code: string, language: string, options?: RenderOptions): { language: string; html: string; }; /** * The block saved for the highlighter of the site (highlight.js, Prism): the frame and the header of * {@link renderBlock} with inline styles, and the code as plain text in ``, without * colors, for the highlighter and its theme. `data-native` tells the plugin to keep the block this way when the HTML * is edited again. */ export declare function renderNative(code: string, language: string, options?: RenderOptions): { language: string; html: string; };