import { LEVEL_ENUM, Logic, Schema, BaseVariable, ActionOptions } from '..';
/**
 * 逻辑输入参数
 */
export declare class Param extends BaseVariable {
    /**
     * 概念类型
     */
    readonly level: LEVEL_ENUM;
    /**
     * 请求类型
     */
    readonly in: string;
    /**
     * 实体字段 Id
     */
    readonly entityFieldId: string;
    /**
     * 默认值
     * 按 JSON string 处理
     * - string: 666 -> '666'
     * - string: true -> 'true'
     * - number: 666 -> 666
     * - boolean: true -> true
     */
    readonly defaultValue: string;
    /**
     * @param source 需要合并的部分参数
     */
    constructor(source?: Partial<Param>);
    /**
     * 添加逻辑输入参数
     */
    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>;
    /**
     * 查找schema 顶点被引用的逻辑顶点列表
     */
    getSchemaUsage(): Promise<any>;
    /**
     * 设置逻辑输入参数的数据类型
     */
    setDataType(schema: Schema): Promise<void>;
    /**
     * 设置逻辑输入参数为列表
     * @param isArray
     */
    setAsList(isArray: boolean): Promise<void>;
    /**
     * 设置逻辑输入参数的默认值
     */
    setDefaultValue(defaultValue: string): Promise<void>;
    /**
     * 设置逻辑输入参数的请求类型
     * @param in 必须
     */
    setIn(requestIn: boolean): Promise<void>;
    /**
     * 设置逻辑输入参数是否必须
     * @param required 必须
     */
    setRequired(required: boolean): Promise<void>;
    /**
     * 从后端 JSON 生成规范的 Param 对象
     */
    static from(source: any, logic: Logic): Param;
}
export default Param;
