import { ExpressiveCodeTheme, ExpressiveCodePlugin } from '@expressive-code/core'; import { MaybeGetter, MaybeArray, LanguageRegistration as LanguageRegistration$1, bundledThemes } from 'shiki'; type Optional = Omit & Pick, K>; type IRawRepository = Optional; interface LanguageRegistration extends Omit { repository?: IRawRepository | undefined; } type LanguageInput = MaybeGetter>; interface PluginShikiOptions { /** * A list of additional languages that should be available for syntax highlighting. * * You can pass any of the language input types supported by Shiki, e.g.: * - `import('./some-exported-grammar.mjs')` * - `async () => JSON.parse(await fs.readFile('some-json-grammar.json', 'utf-8'))` * * See the [Shiki documentation](https://shiki.style/guide/load-lang) for more information. */ langs?: LanguageInput[] | undefined; } /** * A list of all themes bundled with Shiki. */ type BundledShikiTheme = Exclude; /** * Loads a theme bundled with Shiki for use with Expressive Code. */ declare function loadShikiTheme(bundledThemeName: BundledShikiTheme): Promise; declare function pluginShiki(options?: PluginShikiOptions): ExpressiveCodePlugin; export { BundledShikiTheme, PluginShikiOptions, loadShikiTheme, pluginShiki };