import { DocumentationLegacyPage } from "../../model/documentation/SDKDocumentationLegacyPage";
import { DocumentationLegacyRichText } from "../../model/documentation/SDKDocumentationLegacyRichText";
import { DocumentationLegacyPageBlockText } from "../../model/documentation/blocks/SDKDocumentationLegacyPageBlockText";
import { Token } from "../../model/tokens/SDKToken";
import { MarkdownLinkResolver } from "./SDKToolsMarkdownLinkResolver";
/** Markdown block transformer */
export declare class MarkdownTransformUtil {
    private tokenTransformer;
    private linkResolver;
    constructor(linkResolver?: MarkdownLinkResolver);
    /** Converts rich text block to markdown
     *
     * This is very naive implementation and will break in complicated cases, like double control characters of the same type next to each other
     * Must improve later with something more sophisticated, ideally tree builder with branched resolution.
     */
    convertTextBlockToMarkdown(block: DocumentationLegacyPageBlockText, pageContext?: DocumentationLegacyPage): Promise<string | null>;
    /** Converts rich text to markdown
     *
     * This is very naive implementation and will break in complicated cases, like double control characters of the same type next to each other
     * Must improve later with something more sophisticated, ideally tree builder with branched resolution.
     */
    convertRichTextToMarkdown(richText: DocumentationLegacyRichText, pageContext?: DocumentationLegacyPage): Promise<string>;
    /** Convert token to markdown representation */
    convertTokenToMarkdown(token: Token): string;
    /** Convert tokens to markdown table representation */
    convertTokensToMarkdownTable(tokens: Array<Token>): string;
}
