/**
 * Convert SDT child elements into Word run elements.
 * @param {Array<Object>|Object} elements
 * @returns {Array<Object>}
 */
export function convertSdtContentToRuns(elements: Array<any> | any): Array<any>;
/**
 * @typedef {Object} ExportParams
 * @property {Object} node JSON node to translate (from PM schema)
 * @property {Object} [bodyNode] The stored body node to restore, if available
 * @property {Object[]} [relationships] The relationships to add to the document
 * @property {Object} [extraParams] The extra params from NodeTranslator
 */
/**
 * @typedef {Object} SchemaNode
 * @property {string} type The name of this node from the prose mirror schema
 * @property {Array<SchemaNode>} content The child nodes
 * @property {Object} attrs The node attributes
 * /

/**
 * @typedef {Object} XmlReadyNode
 * @property {string} name The XML tag name
 * @property {Array<XmlReadyNode>} elements The child nodes
 * @property {Object} [attributes] The node attributes
 */
/**
 * @typedef {Object.<string, *>} SchemaAttributes
 * Key value pairs representing the node attributes from prose mirror
 */
/**
 * @typedef {Object.<string, *>} XmlAttributes
 * Key value pairs representing the node attributes to export to XML format
 */
/**
 * @typedef {Object} MarkType
 * @property {string} type The mark type
 * @property {Object} attrs Any attributes for this mark
 */
/**
 * Main export function. It expects the prose mirror data as JSON (ie: a doc node)
 *
 * @param {ExportParams} params - The parameters object, containing a node and possibly a body node
 * @returns {XmlReadyNode} The complete document node in XML-ready format
 */
export function exportSchemaToJson(params: ExportParams): XmlReadyNode;
/**
 * Translate a paragraph node
 *
 * @param {ExportParams} node A prose mirror paragraph node
 * @returns {XmlReadyNode} JSON of the XML-ready paragraph node
 */
export function translateParagraphNode(params: any): XmlReadyNode;
/**
 * Generate the w:pPr props for a paragraph node
 *
 * @param {SchemaNode} node
 * @returns {XmlReadyNode} The paragraph properties node
 */
export function generateParagraphProperties(node: SchemaNode): XmlReadyNode;
/**
 * Helper function to be used for text node translation
 * Also used for transforming text annotations for the final submit
 *
 * @param {String} text Text node's content
 * @param {Object[]} marks The marks to add to the run properties
 * @returns {XmlReadyNode} The translated text node
 */
export function getTextNodeForExport(text: string, marks: any[], params: any): XmlReadyNode;
/**
 * Wrap a text node in a run
 *
 * @param {XmlReadyNode} node
 * @returns {XmlReadyNode} The wrapped run node
 */
export function wrapTextInRun(nodeOrNodes: any, marks: any): XmlReadyNode;
/**
 * Generate a w:rPr node (run properties) from marks
 *
 * @param {Object[]} marks The marks to add to the run properties
 * @returns
 */
export function generateRunProps(marks?: any[]): {
    name: string;
    elements: any[];
};
/**
 * Get all marks as a list of MarkType objects
 *
 * @param {MarkType[]} marks
 * @returns
 */
export function processOutputMarks(marks?: MarkType[]): any[];
export function processLinkContentNode(node: any): any;
/**
 * Create a new link relationship and add it to the relationships array
 *
 * @param {ExportParams} params
 * @param {string} link The URL of this link
 * @returns {string} The new relationship ID
 */
export function addNewLinkRelationship(params: ExportParams, link: string): string;
export function translateHardBreak(params: any): {
    name: string;
    elements: {
        name: string;
        type: string;
        attributes: {
            'w:type': string;
        };
    }[];
};
export function ensureSectionLayoutDefaults(sectPr: any, converter: any): any;
export function isLineBreakOnlyRun(node: any): any;
export class DocxExporter {
    constructor(converter: any);
    converter: any;
    schemaToXml(data: any, debug?: boolean): string;
    #private;
}
export type ExportParams = {
    /**
     * JSON node to translate (from PM schema)
     */
    node: any;
    /**
     * The stored body node to restore, if available
     */
    bodyNode?: any;
    /**
     * The relationships to add to the document
     */
    relationships?: any[];
    /**
     * The extra params from NodeTranslator
     */
    extraParams?: any;
};
export type SchemaNode = {
    /**
     * The name of this node from the prose mirror schema
     */
    type: string;
    /**
     * The child nodes
     */
    content: Array<SchemaNode>;
    /**
     * The node attributes
     * /
     *
     * /**
     */
    attrs: any;
};
export type XmlReadyNode = {
    /**
     * The XML tag name
     */
    name: string;
    /**
     * The child nodes
     */
    elements: Array<XmlReadyNode>;
    /**
     * The node attributes
     */
    attributes?: any;
};
/**
 * Key value pairs representing the node attributes from prose mirror
 */
export type SchemaAttributes = {
    [x: string]: any;
};
/**
 * Key value pairs representing the node attributes to export to XML format
 */
export type XmlAttributes = {
    [x: string]: any;
};
export type MarkType = {
    /**
     * The mark type
     */
    type: string;
    /**
     * Any attributes for this mark
     */
    attrs: any;
};
