import { RanElement } from '@/utils/index';
import { EventManager } from '@/utils/builder';
import '@/components/icon';
export declare class Mermaid extends RanElement {
    _events: EventManager;
    _shadowDom: ShadowRoot;
    _wrap: HTMLElement;
    _diagram: HTMLElement;
    _toolbar: HTMLElement;
    _themeObserver?: MutationObserver;
    _copyResetTimer?: number;
    _fullscreenClose?: () => void;
    _downloadMenu?: HTMLElement;
    static get observedAttributes(): string[];
    constructor();
    get code(): string;
    set code(value: string);
    get theme(): string;
    set theme(value: string);
    get sheet(): string;
    set sheet(value: string);
    get copyable(): boolean;
    set copyable(v: boolean);
    get downloadable(): boolean;
    set downloadable(v: boolean);
    get fullscreenable(): boolean;
    set fullscreenable(v: boolean);
    private label;
    private resolveTheme;
    private emit;
    handlerExternalCss: () => void;
    render(): void;
    private showError;
    private iconButton;
    private buildToolbar;
    private copySource;
    private currentSvg;
    private downloadFormats;
    private onDownload;
    private triggerDownload;
    private saveBlob;
    private downloadRawSvg;
    private downloadSource;
    private downloadPng;
    private toggleDownloadMenu;
    private closeDownloadMenu;
    private openFullscreen;
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(k: string, o: string | null, n: string | null): void;
}
export default Mermaid;
