import { LEVEL_ENUM, Vertex, MicroService, ProcessComponent, ProcessInterface, ActionOptions } from '..';
/**
 * 流程类
 */
export declare class Process extends Vertex {
    /**
     * 概念类型
     */
    readonly level: LEVEL_ENUM;
    /**
     * 流程 Id
     */
    readonly id: string;
    /**
     * 流程名称
     */
    readonly name: string;
    /**
     * 流程标题
     */
    readonly title: string;
    /**
     * 流程描述
     */
    readonly description: string;
    /**
     * 流程组件集合
     */
    readonly childShapes: Array<ProcessComponent>;
    /**
     * 流程输入参数
     */
    readonly params: Array<any>;
    /**
     * 流程输出参数
     */
    readonly returns: Array<any>;
    /**
     * 流程内置参数
     */
    readonly properties: Array<any>;
    /**
     * 启动流程接口
     */
    readonly launchProcessInterface: ProcessInterface;
    /**
     * 后端服务类型
     */
    readonly serviceType: string;
    /**
     * 所属后端服务 Id
     */
    readonly serviceId: string;
    /**
     * 所属后端服务
     */
    readonly service: MicroService;
    /**
     * 树组件的子节点字段
     */
    readonly childrenField: string;
    /**
     * 树组件的子节点字段
     */
    readonly moreChildrenFields: Array<string>;
    /**
     * 已存在名称集合
     */
    readonly existingNames: Array<string>;
    /**
     * 接口列表，单纯用于 tree 展示
     */
    readonly interfaces: Array<ProcessInterface>;
    /**
     * @param source 需要合并的部分参数
     */
    constructor(source?: Partial<Process>);
    /**
     * 添加流程
     */
    create(none?: void, actionOptions?: ActionOptions): Promise<this>;
    /**
     * 删除流程
     */
    delete(none?: void, actionOptions?: ActionOptions): Promise<void>;
    /**
     * 修改流程
     */
    update(deep?: boolean, actionOptions?: ActionOptions, then?: () => Promise<any>): Promise<this>;
    /**
     * 批量修改流程组件
     */
    batchComponents(body: any, actionOptions?: ActionOptions): Promise<void>;
    /**
     * 流程级别的类型检查
     */
    checkType(): Promise<void>;
    /**
     * 设置流程名称
     * @param name 名称
     */
    setName(name: string): Promise<void>;
    /**
     * 设置流程标题
     * @param title 标题
     */
    setTitle(title: string): Promise<void>;
    /**
     * 设置流程描述
     * @param description 描述
     */
    setDescription(description: string): Promise<void>;
    /**
     * 从后端 JSON 生成规范的 Param 对象
     */
    static from(source: any, service: MicroService): Process;
}
export default Process;
