import { NgeMarkdownHighlighterService, NgeMarkdownFeature } from '@cisstech/nge/markdown'; /** Options of the shiki highlighter (`withShiki`). */ interface NgeMarkdownShikiOptions { /** * Shiki theme per color scheme. Both palettes are emitted as CSS variables, * so switching schemes never re-highlights. Default: * `{ light: 'github-light', dark: 'github-dark' }`. */ themes?: { light: string; dark: string; }; /** * Languages preloaded on the server before the first render. Server * rendering snapshots the page as soon as the app is stable, and a grammar * loading mid-render is not tracked as pending work: a language outside this * list may render unhighlighted in the prerendered HTML (the client pass * still highlights it). Defaults to the common web stack. */ langs?: string[]; } /** Languages warmed up for server rendering when `langs` is not customized. */ declare const NGE_MARKDOWN_SHIKI_DEFAULT_LANGS: string[]; /** * Loads shiki and the configured grammars ahead of the first render, so every * `codeToHtml` call during server rendering resolves without async grammar * fetches. Called by `withShiki` through an app initializer on the server. */ declare function preloadShiki(options?: NgeMarkdownShikiOptions): Promise; /** * Highlighter service backed by [shiki](https://shiki.style). Unlike the monaco * colorizer it also runs during server rendering, so prerendered pages ship * highlighted HTML. Shiki is an optional peer dependency, imported lazily on * the first code block. */ declare function shikiHighlighterService(options?: NgeMarkdownShikiOptions): NgeMarkdownHighlighterService; /** * Highlight fenced code blocks with [shiki](https://shiki.style). Unlike * `withHighlighter`, it also runs during server rendering: prerendered pages * ship highlighted HTML, and both color schemes are emitted as CSS variables so * theme switches never re-highlight. * * Import from `@cisstech/nge/markdown/shiki`: shiki lives behind this entry * point, so only apps that opt into it pull the SDK and need the `shiki` * dependency installed. */ declare function withShiki(options?: NgeMarkdownShikiOptions): NgeMarkdownFeature; export { NGE_MARKDOWN_SHIKI_DEFAULT_LANGS, preloadShiki, shikiHighlighterService, withShiki }; export type { NgeMarkdownShikiOptions };