import { BaseNodeModel, LogicFlow } from '@logicflow/core';
import { InsertCommonNodeData } from '../components';
interface AddFlowNodeConfig {
    defaultSelectNode?: boolean;
    isFocusOn?: boolean;
}
declare class Graph {
    private lf;
    private context;
    private layout;
    private selectedNodes;
    private hoveredNodes;
    constructor(options: {
        lf: any;
        context: any;
    });
    /**
     * 当选中左侧画布组件时，选中逻辑图上对应节点
     */
    selectNodesByModel(model: {
        id: any;
    }): void;
    /**
     * 当悬浮左侧画布组件时，高亮逻辑图上响应节点
     */
    hoverNodesByModel(model: {
        id: any;
    }): void;
    /**
     * 选中某一节点
     */
    selectNode(seletedModel: BaseNodeModel<LogicFlow.PropertiesType>): void;
    /**
     * CommonNodeModel
     * hover某一节点
     */
    hoverNode(seletedModel: BaseNodeModel<LogicFlow.PropertiesType>): void;
    /**
     * 取消 hover 某一节点
     */
    cancelHoverNode(seletedModel: BaseNodeModel<LogicFlow.PropertiesType>): void;
    /**
     * 清空所有节点状态
     */
    clearNodesStatus(): void;
    /**
     * 通过拖拽添加节点
     */
    addNodeByDrop(model: any, e: any): void;
    /**
     * 在节点或边后新插入新节点
     */
    insertNode(nodeModel: BaseNodeModel<LogicFlow.PropertiesType>, type: any, properties: any, callback?: () => void): void;
    /**
     * 删除选中的节点并自动连接前后节点
     */
    deleteNode(nodeModel: BaseNodeModel<LogicFlow.PropertiesType>): void;
    /**
     * 复制选中的节点并放于该节点下方
     */
    copyNode(nodeModel: BaseNodeModel<LogicFlow.PropertiesType>): void;
    /**
     * 添加边
     */
    addEdge(edgeData: unknown): void;
    /**
     * 连接至已有节点
     */
    connectToNode(id: string, model: {
        id: any;
    }): void;
    /**
     * 计算控制点
     */
    calcPointsList(edgeData: any): any;
    /**
     * 某节点后插入新节点时，移动后续所有节点位置
     */
    shiftNextNodes(nodeModel: BaseNodeModel<LogicFlow.PropertiesType>, dx: any): void;
    /**
     * 判断是否为循环节点
     */
    isLoopNode(nodeModel: BaseNodeModel<LogicFlow.PropertiesType>, nodeId: string): any;
    /**
     * 添加初始化节点
     */
    addInitNode(): BaseNodeModel<LogicFlow.PropertiesType>;
    /**
     * 添加编排节点
     */
    addFlowNode(nodeConfig: InsertCommonNodeData, config: AddFlowNodeConfig): BaseNodeModel<LogicFlow.PropertiesType>;
    initView(): void;
    /**
     * 增加历史记录
     */
    addHistory(): void;
    /**
     * 撤销
     */
    undo(): void;
    /**
     * 重做
     */
    redo(): void;
}
export default Graph;
