import { type MaybeRefOrGetter } from "vue";
import type { HighlightOptions, ShikiHighlighter, UseHighlightOptions } from "./types";
/**
* Lazy-load shiki instance.
*
* You can use this utility both in `server/` and vue app code.
*
* @example
* ```vue
*
* ```
*
* @example
* ```ts
* // server/api/highlight.ts
* export default defineEventHandler(async (event) => {
* const highlighter = await getShikiHighlighter()
* return highlighter.highlight(`const hello = 'shiki'`, { lang: 'js' })
* })
* ```
*/
export declare function getShikiHighlighter(): Promise;
/**
* Resolve `highlightOptions` with defaults.
*
* @example
* ```
* const shiki = await getShikiHighlighter()
* const options = await resolveShikiOptions({ lang: 'js' })
* const hast = shiki.codeToHast(`const hello = 'shiki'`, options)
* ```
*/
export declare function resolveShikiOptions(options?: Partial): Promise;
/**
* Return a lazy highlighted code ref (only usable in Vue)
*
* @example
* ```vue
*
* ```
*/
export declare function useShikiHighlighted(code: MaybeRefOrGetter, options?: UseHighlightOptions): Promise>;
/**
* Dynamically loading languages when `options.dynamic` is true.
*
* @example
* ```vue
*
* ```
*/
export declare function loadShikiLanguages(...langs: string[]): Promise;