import { LEVEL_ENUM, Logic, Variable, ProcessComponent, Schema, ActionOptions } from '..';
/**
 * 流程组件局部变量
 */
export declare class ProcessComponentVariable extends Variable {
    /**
     * 概念类型
     */
    readonly level: LEVEL_ENUM;
    /**
     * 流程组件 Id
     */
    readonly parentId: string;
    /**
     * 流程组件
     */
    readonly processComponent: ProcessComponent;
    /**
     * 默认值
     * 按 JSON string 处理
     * - string: 666 -> '666'
     * - string: true -> 'true'
     * - number: 666 -> 666
     * - boolean: true -> true
     */
    defaultValue: string;
    /**
     * @param source 需要合并的部分参数
     */
    constructor(source?: Partial<ProcessComponentVariable>);
    genCode(): string;
    /**
     * 添加流程组件局部变量
     */
    create(none?: void, actionOptions?: ActionOptions): Promise<this>;
    /**
     * 删除流程组件局部变量
     */
    delete(none?: void, actionOptions?: ActionOptions): Promise<void>;
    /**
     * 修改流程组件局部变量
     */
    update(none?: void, actionOptions?: ActionOptions, then?: () => Promise<any>): Promise<this>;
    /**
     * 设置流程组件局部变量名称
     * @param name 名称
     */
    setName(name: string): Promise<void>;
    /**
     * 设置流程组件局部变量描述
     * @param description 描述
     */
    setDescription(description: string): Promise<void>;
    /**
     * 设置流程组件局部变量的数据类型
     * @param $ref 数据类型
     */
    setDataType(schema: Schema): Promise<void>;
    /**
     * 设置流程组件局部变量是否为列表
     * @param isArray
     */
    setAsList(isArray: boolean): Promise<void>;
    /**
     * 设置流程组件局部变量的默认值
     * @param defaultValue 默认值
     */
    setDefaultValue(defaultValue: string): Promise<void>;
    /**
     * 查找schema 顶点被引用的流程顶点列表
     */
    getSchemaUsage(): Promise<any>;
    /**
     * 从后端 JSON 生成规范的 ProcessComponentVariable 对象
     */
    static from(source: any, processComponent: ProcessComponent | Logic): ProcessComponentVariable;
}
export default ProcessComponentVariable;
