import { CreateType } from '../../../../../domain/model/model-type';
export * from './json-param-logic';
export * from './json-schema';
export * from './sql';
export declare const translateFieldType: (key: string) => string | undefined;
/** 表单类型 */
export declare enum FormTypeEnum {
    /** 基础表单 */
    BASE = "BASE",
    /** 流程表单 */
    PROCESS = "PROCESS",
    /** 视图表单 */
    VIEW = "VIEW",
    /** 文本表单 */
    TEXT = "TEXT",
    /** 文件表单 */
    FILE = "FILE"
}
/** 视图类型 */
export declare enum ViewTypeEnum {
    /** 视图模型（查询视图） */
    VIEW_MODEL = "VIEW_MODEL",
    /** SQL数据视图 */
    VIEW_SQL = "SQL",
    /** 数据库视图 */
    VIEW = "VIEW",
    /** 自定义模型 */
    VIEW_JS = "JS"
}
export declare enum JoinModelTypeEum {
    /** 实体模型 */
    EntityModel = "entity_model",
    /** 表单模型 */
    FormModel = "form_model",
    /** 数据连接 */
    SqlModel = "sql_model",
    /** IPAAS */
    IpaasModel = "ipaas_model",
    /** 内置业务 */
    BuiltinModel = "builtin_model"
}
export declare enum ParamModelTypeEnum {
    /** 组件参数 */
    CompParam = "comp_param",
    /** 内置参数 */
    BuiltinParam = "builtin_param"
}
export declare enum ParamTypeEnum {
    /** 固定值 */
    FIXED = "Fixed",
    /** 组件传参 */
    MAPPING = "Mapping"
}
/**
 * 鉴权字段数据类型(Array,Object,String,Integer,Boolean,BigDecimal,Long)
 */
export declare enum AuthKeyTypeEnum {
    String = "String",
    /** 废弃的字段类型 */
    Integer = "Integer",
    /** 废弃的字段类型 */
    BigDecimal = "BigDecimal",
    /** 废弃的字段类型 */
    Long = "Long",
    Number = "Number",
    Boolean = "Boolean",
    Object = "Object",
    Array = "Array"
}
/** 参数位置 */
export declare enum ParameterPosition {
    HEADER = "Header",
    BODY = "Body",
    QUERY = "Query",
    PATH = "Path"
}
export declare enum LinkOperatorEnum {
    /** 等于 */
    EQ = "eq",
    /** 不等于 */
    NE = "ne",
    /** 大于 */
    GT = "gt",
    /** 小于 */
    LT = "lt",
    /** 大于等于 */
    GE = "ge",
    /** 小于等于 */
    LE = "le",
    /** 匹配 */
    LIKE = "like",
    /** 不匹配 */
    NOTLIKE = "notLike",
    /** 为空 */
    ISNULL = "isNull",
    /** 不为空 */
    ISNOTNULL = "isNotNull"
}
export interface IToFieldItem {
    /** 字段key */
    field: string | undefined;
    /** 字段类型 */
    fieldType: string | undefined;
    /** 字段来源 */
    createType?: CreateType;
}
export interface IParameterMapping {
    /** 唯一标识 */
    id: string;
    /** 参数key */
    formKey: string | undefined;
    /** 参数映射类型 */
    paramMapType: ParamModelTypeEnum | undefined;
    /** 模型key */
    modelKey: string | undefined;
    /** 是否是子表 */
    subModel: number | undefined;
    /** 子表字段key */
    subFieldKey: string | undefined;
    /** 映射的字段信息 */
    toFields: Array<IToFieldItem>;
}
export interface IExpressionItem {
    /** 唯一标识 */
    id: string;
    /** 字段key */
    fieldKey: string | undefined;
    /** 字段类型 */
    fieldType: string | undefined;
    /** 条件 */
    operator: string | undefined;
    /** 参数key */
    formKey: string | undefined;
    /** 参数映射类型 */
    paramMapType: ParamModelTypeEnum | undefined;
}
export interface IFieldMapItem {
    /** 唯一标识 */
    id: string;
    /** 模型key */
    modelKey: string | undefined;
    /** 是否是子表 */
    subModel: number | undefined;
    /** 子表字段key */
    subFieldKey: string | undefined;
    /**是否检验表 */
    isCheckTable: boolean | undefined;
    fields: Array<{
        /** 当前表单模型字段key */
        leftFieldKey: string;
        /** 映射的字段key */
        rightFieldKey: string | undefined;
        /** 所属模型pos */
        cascaderKey: string | undefined;
        /** 是否是关联模型字段 */
        isFieldModel?: boolean | undefined;
        /** 字段链路 */
        fieldLink?: string | undefined;
    }>;
}
export interface IJoinIpaasConfig {
    /** 请求方式 */
    reqMethod: string | undefined;
    /** 请求url路径 */
    reqPath: string | undefined;
    /** body参数 */
    metaHeader: string | undefined;
    /** 头部参数 */
    metaBody: string | undefined;
    /** 查询参数 */
    metaQuery: string | undefined;
    /** 路径参数 */
    metaUri: string | undefined;
    /** 出参查看 */
    outputBodyParameters: string | undefined;
}
export interface ICustomDataSource {
    /** 唯一标识 */
    id: string;
    /** 关联模型类型 */
    joinModelType: string | undefined;
    /** 关联表单id */
    joinFormRefId: string | undefined;
    /** 关联模型key */
    joinModelKey: string | undefined;
    /** 是否是子表 */
    joinSubModel: boolean | undefined;
    /** 关联SQL语句 */
    joinSqlJson: string | undefined;
    /** 关联IPAAS配置 */
    joinIpaasConfig: IJoinIpaasConfig;
    /** 关联内置业务配置 */
    joinBuiltinConfig: string | undefined;
    /** 模型关联条件 */
    onExpressions: Array<IExpressionItem>;
    /** 字段映射 */
    onFieldMap: Array<IFieldMapItem>;
}
export declare const getField2Operators: (fieldType: string) => LinkOperatorEnum[];
export declare const fieldColumns: any[];
export declare const paramColumns: ({
    key: string;
    name: string;
    width: number;
} | {
    key: string;
    name: string;
    width?: undefined;
})[];
export declare const builtinFieldColumns: {
    key: string;
    name: string;
}[];
