import { Node as PMNode, Schema } from '../../prosemirror';
import { Transformer } from '../transformer';
export declare type CustomEncoder = (userId: string) => string;
export interface JIRACustomEncoders {
    mention?: CustomEncoder;
}
export interface ContextInfo {
    clientId: string;
    serviceHost: string;
    token: string;
    collection: string;
}
export interface MediaContextInfo {
    viewContext?: ContextInfo;
    uploadContext?: ContextInfo;
}
export default class JIRATransformer implements Transformer<string> {
    private schema;
    private customEncoders;
    private mediaContextInfo?;
    private doc;
    constructor(schema: Schema<any, any>, customEncoders?: JIRACustomEncoders, mediaContextInfo?: MediaContextInfo);
    encode(node: PMNode): string;
    parse(html: string): PMNode;
    private getContent(node, convertedNodes);
    private encodeNode(node);
    private makeDocument();
    private encodeFragment(fragment);
    private encodeHeading(node);
    private encodeParagraph(node);
    private encodeText(node);
    private encodeHardBreak();
    private encodeHorizontalRule();
    private encodeBulletList(node);
    private encodeOrderedList(node);
    private encodeListItem(node);
    private encodeMention(node, encoder?);
    private encodeCodeBlock(node);
    private encodeBlockQuote(node);
    private encodeMediaGroup(node);
    private addDataToNode(domNode, mediaNode, defaultDisplayType?);
    private buildURLWithContextInfo(fileId, contextInfo);
    private isImageMimeType(mimeType?);
    private encodeMedia(node);
    private encodeTable(node);
}
