import { LEVEL_ENUM, Logic, Param, Process, Schema, ActionOptions } from '..';
/**
 * 流程输入参数
 */
export declare class ProcessParam extends Param {
    /**
     * 概念类型
     */
    readonly level: LEVEL_ENUM;
    /**
     * 流程 Id
     */
    readonly parentId: string;
    /**
     * 视图
     */
    readonly process: Process;
    /**
     * 默认值
     * 按 JSON string 处理
     * - string: 666 -> '666'
     * - string: true -> 'true'
     * - number: 666 -> 666
     * - boolean: true -> true
     */
    defaultValue: string;
    /**
     * @param source 需要合并的部分参数
     */
    constructor(source?: Partial<ProcessParam>);
    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 defaultValue 默认值
     */
    setDefaultValue(defaultValue: string): Promise<void>;
    /**
     * 查找schema 顶点被引用的流程输入参数顶点列表
     */
    getSchemaUsage(): Promise<any>;
    /**
     * 流程接口会自动根据输入输出参数变更，更新流程接口的输入输出
     */
    updateInterface(): Promise<void>;
    /**
     * 从后端 JSON 生成规范的 ProcessParam 对象
     */
    static from(source: any, process: Process | Logic): ProcessParam;
}
export default ProcessParam;
