import { CodeExtension, DEFAULT_SHIKI_DARK_THEME, DEFAULT_SHIKI_LIGHT_THEME, LANGUAGE_ALIAS, LANGUAGE_EXTENSIONS, MaybeGetter, MaybePromise, SharedCdnOptions } from "@stream-markdown/core"; import { BuiltinLanguage, BuiltinTheme, BundledLanguage, BundledTheme, CodeToTokensOptions, Highlighter, RegexEngine, TokensResult } from "shiki"; //#region src/types.d.ts export type ShikiEngine = MaybePromise; export interface CodeRuntimeOptions { lang?: MaybeGetter; isDark?: MaybeGetter; cdnOptions?: MaybeGetter; theme?: MaybeGetter<[BuiltinTheme, BuiltinTheme] | undefined>; langs?: MaybeGetter; langAlias?: MaybeGetter | undefined>; engine?: MaybeGetter; codeToTokenOptions?: MaybeGetter | undefined>; } export interface ShikiRuntime { installed: Promise; preload: () => Promise; dispose: () => void; getShiki: () => Promise; getHighlighter: () => Promise; codeToTokens: (code: string) => Promise; getLanguage: () => Promise; } //#endregion //#region src/cdn.d.ts export interface ShikiCdnLoaderOptions { cdnOptions?: MaybeGetter; } export declare function createShikiCdnLoader(options?: ShikiCdnLoaderOptions): { getCdnUrl: () => string | undefined; loadCdn: () => Promise; }; //#endregion //#region src/constants.d.ts export declare const SHIKI_VERSION: string; //#endregion //#region src/extension.d.ts export type CodeExtensionOptions = Omit; export declare function code(options?: CodeExtensionOptions): CodeExtension; //#endregion //#region src/runtime.d.ts export declare function resolveShikiEngine(engine: CodeRuntimeOptions['engine']): Promise; /** Dispose the shared highlighter only after all syntax highlighting has stopped. */ export declare function disposeShikiHighlighter(): void; export declare function createShikiRuntime(options?: CodeRuntimeOptions): ShikiRuntime; //#endregion export { DEFAULT_SHIKI_DARK_THEME, DEFAULT_SHIKI_LIGHT_THEME, LANGUAGE_ALIAS, LANGUAGE_EXTENSIONS, type MaybeGetter };