package cn.stylefeng.workflow.api;

import cn.stylefeng.workflow.api.entity.design.Definition;
import cn.stylefeng.workflow.api.pojo.config.MyFlowDesign;
import cn.stylefeng.workflow.api.pojo.config.SixGraphDesign;
import cn.stylefeng.workflow.api.pojo.config.model.FlowGlobalConfig;
import cn.stylefeng.workflow.api.pojo.config.model.ModelForm;
import cn.stylefeng.workflow.api.pojo.instance.DefinitionFormatInfo;

import java.util.List;
import java.util.Map;

public interface DefinitionApi {

    Definition getDefinitionInfo(Long definitionId);

    FlowGlobalConfig getDefinitionGlobalConfig(Long definitionId);

    Definition updateDefinition(Definition definition, MyFlowDesign myFlowDesign, SixGraphDesign sixGraphDesign);

    DefinitionFormatInfo getDefinitionInfoDetail(Long definitionId);

    List<ModelForm> getDefinitionFormDefinitionIdList(Long definitionId);

    Map<Long, Definition> getDefinitionListInfo(List<Long> definitionIdList);

}
