import { LANGUAGE_VERSION, type RendererOptions, type ThemeInput, type StreamingSnapshot, } from './index.js'; import type MarkdownIt from 'markdown-it'; export { LANGUAGE_VERSION }; export interface BrowserOptions extends RendererOptions { selector?: string; } export type RenderTarget = string | Element; export type RenderResult = Element | null; export type AsyncRenderResult = Promise; export interface ChromaMarkBrowserApi { readonly LANGUAGE_VERSION: typeof LANGUAGE_VERSION; readonly theme: string; readonly THEME_PRESETS: Readonly>>>; render(source: unknown, options?: RendererOptions): string; renderElement(target: RenderTarget, options?: RendererOptions): RenderResult | AsyncRenderResult; renderAll( selector?: string, options?: RendererOptions, ): Array; renderSrc(target: RenderTarget, options?: RendererOptions): AsyncRenderResult; injectTheme(document?: Document): void; applyTheme(target: Element | Document, theme?: ThemeInput): Element; resolveTheme(theme?: ThemeInput): Record; createStreamingElement(target: RenderTarget, options?: RendererOptions): { append(chunk: unknown): StreamingSnapshot; snapshot(): StreamingSnapshot; finalize(): StreamingSnapshot; }; autoRender(options?: BrowserOptions): Array; createRenderer(options?: RendererOptions): MarkdownIt; } export let theme: string; export function configureTheme(css: string): void; export function render(source: unknown, options?: RendererOptions): string; export function renderElement( target: RenderTarget, options?: RendererOptions, ): RenderResult | AsyncRenderResult; export function renderAll( selector?: string, options?: RendererOptions, ): Array; export function renderSrc(target: RenderTarget, options?: RendererOptions): AsyncRenderResult; export function injectTheme(document?: Document): void; export function applyTheme(target: Element | Document, theme?: ThemeInput): Element; export function resolveTheme(theme?: ThemeInput): Record; export const THEME_PRESETS: Readonly>>>; export function createStreamingElement(target: RenderTarget, options?: RendererOptions): { append(chunk: unknown): StreamingSnapshot; snapshot(): StreamingSnapshot; finalize(): StreamingSnapshot; }; export function autoRender(options?: BrowserOptions): Array; export const ChromaMark: ChromaMarkBrowserApi; export default ChromaMark;