import { HighlighterGeneric } from 'shiki/core';
import { SyntaxHighlightConfig } from './config';
type Highlighter = HighlighterGeneric<string, string>;
type ShikiLoader = () => Promise<any>;
export interface ShikiBundle {
    langs: Record<string, ShikiLoader>;
    themes: Record<string, ShikiLoader>;
}
export declare const DEFAULT_SHIKI_LANGS: readonly ["javascript", "typescript", "jsx", "tsx", "bash", "shell", "python", "java", "c", "cpp", "csharp", "go", "rust", "ruby", "php", "swift", "kotlin", "sql", "json", "yaml", "toml", "markdown", "html", "css", "scss", "less", "vue", "svelte", "docker", "nginx", "xml", "diff", "regex"];
export declare const DEFAULT_SHIKI_LIGHT_THEME = "github-light";
export declare const DEFAULT_SHIKI_DARK_THEME = "github-dark";
export declare function getCodeHighlightTheme(isDark: boolean, config?: SyntaxHighlightConfig, bundle?: ShikiBundle): string;
export declare function getHighlighter(config?: SyntaxHighlightConfig, bundle?: ShikiBundle): Promise<Highlighter | null>;
export declare function extractCodeLanguages(source: string): string[];
export declare function prefetchShikiAssets(source: string, config?: SyntaxHighlightConfig, bundle?: ShikiBundle): void;
export interface HighlightOptions {
    lang?: string;
    theme?: string;
    showLineNumbers?: boolean;
}
export declare function highlightCode(code: string, options?: HighlightOptions, config?: SyntaxHighlightConfig, bundle?: ShikiBundle): Promise<string>;
export declare function getBundledLanguageIds(bundle?: ShikiBundle): string[];
export declare function getBundledThemeIds(bundle?: ShikiBundle): string[];
export declare function resolveLang(lang: string | undefined): string;
export {};
//# sourceMappingURL=shiki-highlighter.d.ts.map