import { Supernova } from "../../core/SDKSupernova";
import { DocumentationLegacyPage } from "../../model/documentation/SDKDocumentationLegacyPage";
import { DocumentationLegacyPageBlockType } from "../../model/enums/SDKDocumentationLegacyPageBlockType";
import { MarkdownTransformBlock, MarkdownTransformBlockConfig } from "./SDKToolsMarkdownTransformBlock";
/** Output markdown mode. Commonmark and GitHub is currently supported */
export declare enum MarkdownTransformType {
    commonmark = "commonmark",
    github = "github"
}
/** Markdown transformers */
export declare class MarkdownTransform {
    conversionType: MarkdownTransformType;
    blockTransformer: MarkdownTransformBlock;
    constructor(type: MarkdownTransformType, instance: Supernova, designSystemId: string, workspaceId: string, versionId: string, config?: MarkdownTransformBlockConfig);
    /** Converts entire definition of the page, including its metadata like title and description, to markdown */
    convertPageToMarkdown(page: DocumentationLegacyPage): Promise<string>;
    /** Creates flattened structure of the blocks, even from the contained blocks, so it is easier to iterate through them */
    private flattenedBlocksOfPage;
    /** Flattens one leaf of blocks */
    private flattenedBlocksOfBlock;
    isContainer(blockType: DocumentationLegacyPageBlockType): boolean;
}
