import { PJSHighlighter, PJSThemeNames, SupportedLanguages } from "../types.js";

//#region src/highlighter/shared_highlighter.d.ts
type CachedOrLoadingHighlighterType = Promise<PJSHighlighter> | PJSHighlighter | undefined;
interface HighlighterOptions {
  themes: PJSThemeNames[];
  langs: SupportedLanguages[];
}
declare function getSharedHighlighter({
  themes,
  langs
}: HighlighterOptions): Promise<PJSHighlighter>;
declare function isHighlighterLoaded(h?: CachedOrLoadingHighlighterType): h is PJSHighlighter;
declare function getHighlighterIfLoaded(): PJSHighlighter | undefined;
declare function isHighlighterLoading(h?: CachedOrLoadingHighlighterType): h is Promise<PJSHighlighter>;
declare function isHighlighterNull(h?: CachedOrLoadingHighlighterType): h is undefined;
declare function preloadHighlighter(options: HighlighterOptions): Promise<void>;
declare function disposeHighlighter(): Promise<void>;
//#endregion
export { disposeHighlighter, getHighlighterIfLoaded, getSharedHighlighter, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, preloadHighlighter };
//# sourceMappingURL=shared_highlighter.d.ts.map