import { FIELD_TYPE } from '../../../domain/field/field-type';
import { CreateType, ModelCategory } from '../../../domain/model/model-type';
/** 字段描述 */
export interface FieldMeta {
    /** 主键 */
    id: FieldId;
    /** 字段key */
    key: FieldKey;
    /** 模型key */
    modelKey: ModelKey;
    /** 字段名称 */
    name: string;
    /** 字段数据类型 */
    type: FIELD_TYPE;
    /** 是否必填 */
    required?: boolean;
    /** 字段创建类型 */
    createType: CreateType;
    /** 映射类型(公式,函数等实际映射的类型) */
    mappingType?: string;
    /** 主子/引用关联模型类型(NDO/RDO) */
    refModelType?: string;
    /** 关联主键字段的绑定信息，格式：关联模型key */
    bindInfo?: string;
    /** 主子关联  绑定子模型字段 */
    bindFieldKey?: string;
    createTime: string;
    createUserName: string;
    modifyTime: string;
    modifyUserName: string;
    /** 模型类型 */
    modelType: string;
    /** 模型大类型 entity/实体,view/视图,data/数据 */
    modelCategory: ModelCategory;
    /** 特有属性配置选项(json格式) */
    specificConfig?: Record<string, any>;
    icon: string;
    version: 'v1' | 'v2';
}
/** 查询参数 */
export interface FieldQueryParams {
    [k: string]: any;
}
/** 列表结果 */
export interface FieldListResult {
    data: FieldMeta[];
    total?: number;
}
