import { type DocMeta } from 'orz-markdown/doc-meta';
/** The default theme when none is specified or an unknown one is requested. */
export declare const DEFAULT_THEME = "light-neat-3";
/** orz-markdown's `exports` hides ./package.json, so find it by walking up. */
export declare function orzVersionOf(): string;
/** orz-mdhtml's own version — pins the renderer bundle + version check. */
export declare function selfVersionOf(): string;
export declare function findAsset(name: string): string;
/** Locate the inlined browser renderer bundle (published sibling; dev ../dist). */
export declare function findRendererBundle(): string;
/** Inputs to the single shared composition path. */
export interface ComposeOptions {
/** Raw markdown source. */
source: string;
/** Document
. */
title: string;
/** Base filename (no extension) used as the save suggestion. */
filename: string;
/** Stable per-document id — passed in so callers control determinism. */
docId: string;
/** orz-markdown theme id (falls back to DEFAULT_THEME when unknown). */
theme: string;
/** Renderer delivery: `inline` embeds the bundle (default, larger, offline);
* `cdn` references it from jsDelivr (small file — the framework loads at
* view time, and viewers get the published bundle without re-embedding it). */
delivery?: 'inline' | 'cdn';
/** Document metadata injected by the host; wins over an in-source meta block. */
metadata?: DocMeta;
}
/**
* The one composition path for a fully-inline `.md.html` document. Both the
* library entry (`buildMdHtml`) and the CLI's `--inline` delivery call this,
* so given the same `docId` + `source` + `title` + `theme` the output is
* byte-identical.
*/
export declare function composeInlineMdHtml(opts: ComposeOptions): string;
/**
* Build a self-contained, fully-inline `.md.html` document from a markdown
* string, in-process. Returns the complete document as a string.
*
* Output is byte-identical to the CLI's `--inline` delivery for the same
* markdown / title / theme; the only source of nondeterminism is `docId`
* (a fresh `randomUUID()` per call, which keys the per-document IndexedDB
* save handle).
*/
export declare function buildMdHtml(opts: {
markdown: string;
title?: string;
theme?: string;
/** `inline` (default) embeds the framework; `cdn` references it from jsDelivr
* (small file — requires orz-mdhtml-browser to be published at this version). */
delivery?: 'inline' | 'cdn';
/** Document metadata (license, author, source …) injected by the host. */
metadata?: DocMeta;
}): string;