import type { Element } from '../types/hast'; import type { Theme as ShikiTheme, IThemedToken } from 'shiki-es'; export type Theme = ShikiTheme | Record; export type HighlightThemedTokenStyle = Pick & { background?: string; }; export type TokenStyleMap = Record; className: string; }>; export interface HighlightParams { code: string; lang: string; theme: Theme; } export interface HighlighterOptions { styleMap: TokenStyleMap; highlights: Array; } export interface HighlightThemedToken { content: string; style?: Record; } export interface HighlightThemedTokenLine { key: string; tokens: HighlightThemedToken[]; } export type Highlighter = (code: string, lang: string, theme: Theme) => Promise<{ tree: Element[]; className: string; style: string; }>;