import { MermaidDiagramConfig, MermaidTheme } from './types';
export type { MermaidDiagramConfig, MermaidDiagramType, MermaidTheme } from './types';
export declare class MermaidDiagram {
    readonly el: HTMLDivElement;
    private readonly diagramId;
    private readonly theme;
    private readonly onRenderStart;
    private readonly onRenderComplete;
    private readonly onRenderError;
    private content;
    private svgElement;
    private destroyed;
    constructor(config: MermaidDiagramConfig);
    /**
     * Update the diagram content and re-render
     */
    update(content: string): Promise<void>;
    /**
     * Remove the diagram from DOM and clean up
     */
    destroy(): void;
    /**
     * Get the current SVG element (if rendered)
     */
    getSvg(): SVGElement | null;
    /**
     * Export the diagram as SVG string
     */
    toSvgString(): string | null;
    /**
     * Export the diagram as a data URL (for download)
     */
    toDataUrl(): string | null;
    private render;
    private showLoading;
    private showError;
    private escapeHtml;
    private buildClassName;
    private isDestroyed;
}
/**
 * Render Mermaid content and return the SVG string (utility function)
 */
export declare function renderMermaidToString(content: string, theme?: MermaidTheme): Promise<string>;
//# sourceMappingURL=index.d.ts.map