import MarkdownIt from 'markdown-it';
import Token from 'markdown-it/lib/token.mjs';
import { DomainMarkdownConfig } from './config';
import { MarkdownRenderer, ParsingResult } from "@internal/domain/markdown";
export declare class MarkdownItRenderer implements MarkdownRenderer {
    private md;
    private config;
    private idGenerator;
    private collectedTags;
    constructor(config: DomainMarkdownConfig, externalMd?: MarkdownIt);
    private setupRendererRules;
    render(source: string): Promise<string>;
    getCollectedTags(): string[];
    parse(source: string): Promise<ParsingResult>;
    _parse(source: string): Promise<Token[]>;
    getMarkdownIt(): MarkdownIt;
    addPlugin(plugin: any, options?: any): void;
    private createMarkdownItInstance;
    private configureBasicPlugins;
}
export declare function createMarkdownItRenderer(config?: Partial<DomainMarkdownConfig>, externalMd?: MarkdownIt): MarkdownItRenderer;
export { DomainMarkdownConfig, DefaultMarkdownConfig } from './config';
export { ParserResult } from './parserresult';
export { TableOfContentsImpl, HeaderImpl, LinkImpl, ParagraphImpl, TOCBuilder, AutoIDGenerator, Fragment } from './tableofcontents';
export { wikilinkPlugin } from './plugins/wikilink-plugin';
export { tagPlugin } from './plugins/tag-plugin';
export { calloutPlugin } from './plugins/callout-plugin';
export { latexPlugin } from './plugins/latex-plugin';
export { mermaidPlugin } from './plugins/mermaid-plugin';
export { preprocessWikilinks } from './plugins/wikilink';
export * from './util/path';
export * from './util/slugger-fallback';
