import { a as HighlighterOptions, c as Themes, i as Element, l as UseShikiHighlighter, n as isInlineCode, o as Language, r as rehypeInlineCodeProperty, s as Theme, t as ShikiHighlighterProps } from "./component-CjpuWrgO.mjs";
import * as _$react from "react";
import { LanguageRegistration, createHighlighterCore } from "shiki/core";
import { createOnigurumaEngine } from "shiki/engine/oniguruma";
import { createJavaScriptRawEngine, createJavaScriptRegexEngine } from "shiki/engine/javascript";

//#region src/core.d.ts
/**
 * Highlight code with shiki (core bundle)
 *
 * @param code - Code to highlight
 * @param lang - Language (bundled or custom)
 * @param theme - Theme (bundled, multi-theme, or custom)
 * @param options - react-shiki options + shiki options
 * @returns Highlighted code as React elements or HTML string
 *
 * @example
 * ```tsx
 * import { createHighlighterCore, createOnigurumaEngine } from 'react-shiki/core';
 *
 *
 * const highlighter = await createHighlighterCore({
 *   themes: [import('@shikijs/themes/github-light'), import('@shikijs/themes/github-dark')],
 *   langs: [import('@shikijs/langs/typescript')],
 *   engine: createOnigurumaEngine(import('shiki/wasm'))
 * });
 *
 * const highlighted = useShikiHighlighter(
 *   'const x = 1;',
 *   'typescript',
 *   {
 *     light: 'github-light',
 *     dark: 'github-dark'
 *   },
 *   { highlighter }
 * );
 * ```
 *
 * Core bundle (minimal). For plug-and-play: `react-shiki` or `react-shiki/web`
 */
declare const useShikiHighlighter: UseShikiHighlighter;
/**
 * ShikiHighlighter component using a custom highlighter.
 * Requires a highlighter to be provided.
 */
declare const ShikiHighlighter: _$react.ForwardRefExoticComponent<ShikiHighlighterProps & _$react.RefAttributes<HTMLElement>>;
//#endregion
export { type Element, type HighlighterOptions, type Language, type LanguageRegistration, ShikiHighlighter, ShikiHighlighter as default, type ShikiHighlighterProps, type Theme, type Themes, type UseShikiHighlighter, createHighlighterCore, createJavaScriptRawEngine, createJavaScriptRegexEngine, createOnigurumaEngine, isInlineCode, rehypeInlineCodeProperty, useShikiHighlighter };
//# sourceMappingURL=core.d.mts.map