import { LEVEL_ENUM, Logic, Param, Schema, ActionOptions } from '..';
import { View } from './View';
/**
 * 页面输入参数
 */
export declare class ViewParam extends Param {
    /**
     * 概念类型
     */
    readonly level: LEVEL_ENUM;
    /**
     * 页面
     */
    readonly view: View;
    /**
     * 默认值
     * 按 JSON string 处理
     * - string: 666 -> '666'
     * - string: true -> 'true'
     * - number: 666 -> 666
     * - boolean: true -> true
     */
    defaultValue: string;
    /**
     * @param source 需要合并的部分参数
     */
    constructor(source?: Partial<ViewParam>);
    /**
     * 添加页面输入参数
     */
    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>;
    /**
     * 从后端 JSON 生成规范的 ViewParam 对象
     */
    static from(source: any, view: View | Logic): ViewParam;
}
export default ViewParam;
