import { OolongApp } from "../../OolongApp";
import { GraphicNode } from "../../../graphics";
import { DocumentInfo, IPoint, NodeType } from "../../../idl";
export declare class CreateAPI {
    app: OolongApp;
    constructor(app: OolongApp);
    /**
     * 找空地方法
     * @param docInfo
     */
    addTemplateNodes(docInfo: DocumentInfo): void;
    addNode(nodeType: NodeType, shapeCode: number): void;
    /**
     * 创建带默认子节点的 DocContainer
     */
    addDocContainer(): void;
    addSvgNodeBySvgCode(svgCode: string): void;
    /**
     * 添加svg节点，默认添加到视口中间
     * @param svgCode
     * @param url
     */
    addSvgNode(svgCode: string, url: string): void;
    /**
     * 添加图片节点，默认添加到视口中间
     * @param imgUrl
     * @param width
     * @param height
     * @param offset 偏移量，用于多张图片上传时避免重叠
     */
    addImageNode(imgUrl: string, width: number, height: number, offset?: IPoint): void;
    /**
     * 添加数学公式节点，默认添加到视口中间
     * @param latex LaTeX公式字符串
     */
    addMathFormulaNode(latex: string): Promise<void>;
    quickCreateNode(shapeType: number, lineId: string): void;
    makeupToSlidesBySelective(): void;
    makeupToSlides(originNodes: GraphicNode[]): void;
    /**
     * 按照位置排序 sections：先找最左上角的节点，然后按行排序
     * @param sections
     * @returns 排序后的 section id 一维数组
     */
    private sortSectionsByPosition;
    /**
     * 将选中的节点组合成 Section
     * 自动过滤掉 DocContainer 和 SlideContainer
     */
    groupToSectionBySelective(): void;
    groupToSection(nodes: GraphicNode[]): void;
    /**
     * 解除 Section 组合，将子节点提取到父级
     * 如果当前选中的是 Section，则解除其组合
     */
    ungroupSection(): void;
}
//# sourceMappingURL=CreateAPI.d.ts.map