export type SvgTheme = | "theme-default" | "theme-mermaid" | "theme-clean-light" | "theme-clean-dark" | "theme-neon"; export interface RenderOptions { /** Theme name. Unknown names fall back to 'theme-default'. */ theme?: SvgTheme; /** Show sequence references and their badges; defaults to true. */ enableNumbering?: boolean; } export interface RenderResult { svg: string; /** Inner SVG content (defs + g) for embedding into an existing SVG container */ innerSvg: string; width: number; height: number; viewBox: string; } export declare function renderToSvg( code: string, options?: RenderOptions, ): RenderResult; export interface ParseResult { pass: boolean; errorDetails: ErrorDetail[]; } export interface ErrorDetail { line: number; column: number; msg: string; } export interface Config { theme?: string; enableScopedTheming?: boolean; onThemeChange?: (data: { theme: string; scoped?: boolean }) => void; enableMultiTheme?: boolean; /** Show hierarchical message numbering. Omission preserves stored state (initially true). */ enableNumbering?: boolean; stickyOffset?: number | false; onContentChange?: (code: string) => void; mode?: string; } interface IZenUml { get code(): string | undefined; get theme(): string | undefined; parse(text: string): Promise; render( code: string | undefined, config: Config | undefined, ): Promise; } declare class ZenUml implements IZenUml { static readonly version: string; static readonly default: typeof ZenUml; constructor(el: HTMLElement | string, naked?: boolean); get code(): string | undefined; get theme(): string | undefined; parse(text: string): Promise; render( code: string | undefined, config: Config | undefined, ): Promise; getPng(): Promise; getSvg(): Promise; } export default ZenUml;