import { LEVEL_ENUM, Vertex, Process, Logic, ProcessComponentAttribute, ProcessInterface, ActionOptions } from '..';
/**
 * 流程组件类
 */
export declare class ProcessComponent extends Vertex {
    /**
     * 概念类型
     */
    readonly level: LEVEL_ENUM;
    /**
     * 流程组件 Id
     */
    readonly id: string;
    /**
     * 流程组件名称
     */
    readonly name: string;
    /**
     * 流程组件标题
     */
    readonly title: string;
    /**
     * 流程组件描述
     */
    readonly description: string;
    /**
     * 流程组件类型
     */
    readonly type: string;
    /**
     * 流程组件输出参数
     */
    readonly returns: Array<any>;
    /**
     * 流程组件局部变量
     */
    readonly variables: Array<any>;
    /**
     * 流程组件逻辑 ID
     */
    readonly logicId: string;
    /**
     * 流程组件逻辑
     */
    readonly logic: Logic;
    /**
     * 流程组件属性
     */
    readonly destination: ProcessComponentAttribute;
    /**
     * 完成任务接口
     */
    readonly completeTaskInterface: ProcessInterface;
    /**
     * 所属流程 Id
     */
    readonly parentId: string;
    /**
     * 树组件的隐藏属性
     */
    readonly hidden: boolean;
    /**
     * 类型检查详情
     */
    readonly typeCheckResult: any;
    /**
     * 类型检查状态
     */
    readonly typeCheckStatus: string;
    /**
     * 所属流程
     */
    readonly process: Process;
    /**
     * 树组件的子节点字段
     */
    readonly moreChildrenFields: Array<string>;
    /**
     * 已存在名称集合
     */
    readonly existingNames: Array<string>;
    /**
     * 接口列表，单纯用于 tree 展示
     */
    readonly interfaces: Array<ProcessInterface>;
    /**
     * @param source 需要合并的部分参数
     */
    constructor(source?: Partial<ProcessComponent>);
    /**
     * 添加流程组件
     */
    create(): this;
    /**
     * 删除流程组件
     */
    delete(): void;
    /**
     * 修改流程组件属性
     */
    updateAttr(updateInterface?: boolean, actionOptions?: ActionOptions): Promise<this>;
    /**
     * 设置流程组件名称
     * @param name 名称
     */
    setName(name: string): Promise<void>;
    /**
     * 设置流程组件标题
     * @param title 标题
     */
    setTitle(title: string): Promise<void>;
    /**
     * 设置流程组件描述
     * @param description 描述
     */
    setDescription(description: string): Promise<void>;
    /**
     * 设置流程组件值 (SequenceFlow)
     * @param flowValue 值
     */
    setFlowValue(flowValue: string): Promise<void>;
    /**
     * 设置流程组件任务完成人 (UserTask)
     * @param assignee 任务完成人
     */
    setAssignee(assignee: Array<string>): Promise<void>;
    /**
     * 从后端 JSON 生成规范的 Param 对象
     */
    static from(source: any, process: Process): ProcessComponent;
    static assignTypeCheckResult(processComponent: ProcessComponent, typeCheckResult: any): void;
}
export default ProcessComponent;
